diff options
author | Noralf Trønnes <noralf@tronnes.org> | 2017-03-26 10:25:29 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2017-03-27 02:41:35 -0400 |
commit | 79b85d2b7e5e61659deca3ec064e8c0245250a68 (patch) | |
tree | 0807b76b2d8f4694a7731714f8bce4051eb11324 | |
parent | 187697a4544c20d4b77193275a7e10f85506d14d (diff) |
drm/tinydrm: Fix drm_driver.fops.owner
drm_driver.fops can't be shared since the owner then becomes tinydrm.ko.
Move the fops declaration to the driver.
v2: Use DEFINE_DRM_GEM_CMA_FOPS
Reported-by: Daniel Vetter <daniel.vetter@intel.com>
Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20170326142529.16938-1-noralf@tronnes.org
-rw-r--r-- | drivers/gpu/drm/tinydrm/core/tinydrm-core.c | 15 | ||||
-rw-r--r-- | drivers/gpu/drm/tinydrm/mi0283qt.c | 3 | ||||
-rw-r--r-- | include/drm/tinydrm/tinydrm.h | 4 |
3 files changed, 4 insertions, 18 deletions
diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-core.c b/drivers/gpu/drm/tinydrm/core/tinydrm-core.c index 6a257dd08ee0..fd25c7e534ee 100644 --- a/drivers/gpu/drm/tinydrm/core/tinydrm-core.c +++ b/drivers/gpu/drm/tinydrm/core/tinydrm-core.c | |||
@@ -122,21 +122,6 @@ void tinydrm_gem_cma_free_object(struct drm_gem_object *gem_obj) | |||
122 | } | 122 | } |
123 | EXPORT_SYMBOL_GPL(tinydrm_gem_cma_free_object); | 123 | EXPORT_SYMBOL_GPL(tinydrm_gem_cma_free_object); |
124 | 124 | ||
125 | const struct file_operations tinydrm_fops = { | ||
126 | .owner = THIS_MODULE, | ||
127 | .open = drm_open, | ||
128 | .release = drm_release, | ||
129 | .unlocked_ioctl = drm_ioctl, | ||
130 | #ifdef CONFIG_COMPAT | ||
131 | .compat_ioctl = drm_compat_ioctl, | ||
132 | #endif | ||
133 | .poll = drm_poll, | ||
134 | .read = drm_read, | ||
135 | .llseek = no_llseek, | ||
136 | .mmap = drm_gem_cma_mmap, | ||
137 | }; | ||
138 | EXPORT_SYMBOL(tinydrm_fops); | ||
139 | |||
140 | static struct drm_framebuffer * | 125 | static struct drm_framebuffer * |
141 | tinydrm_fb_create(struct drm_device *drm, struct drm_file *file_priv, | 126 | tinydrm_fb_create(struct drm_device *drm, struct drm_file *file_priv, |
142 | const struct drm_mode_fb_cmd2 *mode_cmd) | 127 | const struct drm_mode_fb_cmd2 *mode_cmd) |
diff --git a/drivers/gpu/drm/tinydrm/mi0283qt.c b/drivers/gpu/drm/tinydrm/mi0283qt.c index b29fe86158f7..482ff1c3db61 100644 --- a/drivers/gpu/drm/tinydrm/mi0283qt.c +++ b/drivers/gpu/drm/tinydrm/mi0283qt.c | |||
@@ -132,9 +132,12 @@ static const struct drm_display_mode mi0283qt_mode = { | |||
132 | TINYDRM_MODE(320, 240, 58, 43), | 132 | TINYDRM_MODE(320, 240, 58, 43), |
133 | }; | 133 | }; |
134 | 134 | ||
135 | DEFINE_DRM_GEM_CMA_FOPS(mi0283qt_fops); | ||
136 | |||
135 | static struct drm_driver mi0283qt_driver = { | 137 | static struct drm_driver mi0283qt_driver = { |
136 | .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_PRIME | | 138 | .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_PRIME | |
137 | DRIVER_ATOMIC, | 139 | DRIVER_ATOMIC, |
140 | .fops = &mi0283qt_fops, | ||
138 | TINYDRM_GEM_DRIVER_OPS, | 141 | TINYDRM_GEM_DRIVER_OPS, |
139 | .lastclose = tinydrm_lastclose, | 142 | .lastclose = tinydrm_lastclose, |
140 | .debugfs_init = mipi_dbi_debugfs_init, | 143 | .debugfs_init = mipi_dbi_debugfs_init, |
diff --git a/include/drm/tinydrm/tinydrm.h b/include/drm/tinydrm/tinydrm.h index cf9ca207b8b1..00b800df4d1b 100644 --- a/include/drm/tinydrm/tinydrm.h +++ b/include/drm/tinydrm/tinydrm.h | |||
@@ -58,8 +58,7 @@ pipe_to_tinydrm(struct drm_simple_display_pipe *pipe) | |||
58 | .gem_prime_mmap = drm_gem_cma_prime_mmap, \ | 58 | .gem_prime_mmap = drm_gem_cma_prime_mmap, \ |
59 | .dumb_create = drm_gem_cma_dumb_create, \ | 59 | .dumb_create = drm_gem_cma_dumb_create, \ |
60 | .dumb_map_offset = drm_gem_cma_dumb_map_offset, \ | 60 | .dumb_map_offset = drm_gem_cma_dumb_map_offset, \ |
61 | .dumb_destroy = drm_gem_dumb_destroy, \ | 61 | .dumb_destroy = drm_gem_dumb_destroy |
62 | .fops = &tinydrm_fops | ||
63 | 62 | ||
64 | /** | 63 | /** |
65 | * TINYDRM_MODE - tinydrm display mode | 64 | * TINYDRM_MODE - tinydrm display mode |
@@ -84,7 +83,6 @@ pipe_to_tinydrm(struct drm_simple_display_pipe *pipe) | |||
84 | .type = DRM_MODE_TYPE_DRIVER, \ | 83 | .type = DRM_MODE_TYPE_DRIVER, \ |
85 | .clock = 1 /* pass validation */ | 84 | .clock = 1 /* pass validation */ |
86 | 85 | ||
87 | extern const struct file_operations tinydrm_fops; | ||
88 | void tinydrm_lastclose(struct drm_device *drm); | 86 | void tinydrm_lastclose(struct drm_device *drm); |
89 | void tinydrm_gem_cma_free_object(struct drm_gem_object *gem_obj); | 87 | void tinydrm_gem_cma_free_object(struct drm_gem_object *gem_obj); |
90 | struct drm_gem_object * | 88 | struct drm_gem_object * |