aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoralf Trønnes <noralf@tronnes.org>2017-03-26 10:25:29 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2017-03-27 02:41:35 -0400
commit79b85d2b7e5e61659deca3ec064e8c0245250a68 (patch)
tree0807b76b2d8f4694a7731714f8bce4051eb11324
parent187697a4544c20d4b77193275a7e10f85506d14d (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.c15
-rw-r--r--drivers/gpu/drm/tinydrm/mi0283qt.c3
-rw-r--r--include/drm/tinydrm/tinydrm.h4
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}
123EXPORT_SYMBOL_GPL(tinydrm_gem_cma_free_object); 123EXPORT_SYMBOL_GPL(tinydrm_gem_cma_free_object);
124 124
125const 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};
138EXPORT_SYMBOL(tinydrm_fops);
139
140static struct drm_framebuffer * 125static struct drm_framebuffer *
141tinydrm_fb_create(struct drm_device *drm, struct drm_file *file_priv, 126tinydrm_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
135DEFINE_DRM_GEM_CMA_FOPS(mi0283qt_fops);
136
135static struct drm_driver mi0283qt_driver = { 137static 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
87extern const struct file_operations tinydrm_fops;
88void tinydrm_lastclose(struct drm_device *drm); 86void tinydrm_lastclose(struct drm_device *drm);
89void tinydrm_gem_cma_free_object(struct drm_gem_object *gem_obj); 87void tinydrm_gem_cma_free_object(struct drm_gem_object *gem_obj);
90struct drm_gem_object * 88struct drm_gem_object *