|
@@ -37,8 +37,6 @@
|
|
|
#define DRIVER_MAJOR 1
|
|
|
#define DRIVER_MINOR 0
|
|
|
|
|
|
-static struct device *exynos_drm_get_dma_device(void);
|
|
|
-
|
|
|
int exynos_atomic_check(struct drm_device *dev,
|
|
|
struct drm_atomic_state *state)
|
|
|
{
|
|
@@ -148,7 +146,7 @@ static struct drm_driver exynos_drm_driver = {
|
|
|
.prime_handle_to_fd = drm_gem_prime_handle_to_fd,
|
|
|
.prime_fd_to_handle = drm_gem_prime_fd_to_handle,
|
|
|
.gem_prime_export = drm_gem_prime_export,
|
|
|
- .gem_prime_import = drm_gem_prime_import,
|
|
|
+ .gem_prime_import = exynos_drm_gem_prime_import,
|
|
|
.gem_prime_get_sg_table = exynos_drm_gem_prime_get_sg_table,
|
|
|
.gem_prime_import_sg_table = exynos_drm_gem_prime_import_sg_table,
|
|
|
.gem_prime_vmap = exynos_drm_gem_prime_vmap,
|
|
@@ -301,6 +299,27 @@ static struct component_match *exynos_drm_match_add(struct device *dev)
|
|
|
return match ?: ERR_PTR(-ENODEV);
|
|
|
}
|
|
|
|
|
|
+static struct device *exynos_drm_get_dma_device(void)
|
|
|
+{
|
|
|
+ int i;
|
|
|
+
|
|
|
+ for (i = 0; i < ARRAY_SIZE(exynos_drm_drivers); ++i) {
|
|
|
+ struct exynos_drm_driver_info *info = &exynos_drm_drivers[i];
|
|
|
+ struct device *dev;
|
|
|
+
|
|
|
+ if (!info->driver || !(info->flags & DRM_DMA_DEVICE))
|
|
|
+ continue;
|
|
|
+
|
|
|
+ while ((dev = bus_find_device(&platform_bus_type, NULL,
|
|
|
+ &info->driver->driver,
|
|
|
+ (void *)platform_bus_type.match))) {
|
|
|
+ put_device(dev);
|
|
|
+ return dev;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return NULL;
|
|
|
+}
|
|
|
+
|
|
|
static int exynos_drm_bind(struct device *dev)
|
|
|
{
|
|
|
struct exynos_drm_private *private;
|
|
@@ -469,27 +488,6 @@ static struct platform_driver exynos_drm_platform_driver = {
|
|
|
},
|
|
|
};
|
|
|
|
|
|
-static struct device *exynos_drm_get_dma_device(void)
|
|
|
-{
|
|
|
- int i;
|
|
|
-
|
|
|
- for (i = 0; i < ARRAY_SIZE(exynos_drm_drivers); ++i) {
|
|
|
- struct exynos_drm_driver_info *info = &exynos_drm_drivers[i];
|
|
|
- struct device *dev;
|
|
|
-
|
|
|
- if (!info->driver || !(info->flags & DRM_DMA_DEVICE))
|
|
|
- continue;
|
|
|
-
|
|
|
- while ((dev = bus_find_device(&platform_bus_type, NULL,
|
|
|
- &info->driver->driver,
|
|
|
- (void *)platform_bus_type.match))) {
|
|
|
- put_device(dev);
|
|
|
- return dev;
|
|
|
- }
|
|
|
- }
|
|
|
- return NULL;
|
|
|
-}
|
|
|
-
|
|
|
static void exynos_drm_unregister_devices(void)
|
|
|
{
|
|
|
int i;
|