Commit 79b85d2b authored by Noralf Trønnes's avatar Noralf Trønnes Committed by Daniel Vetter

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: default avatarDaniel Vetter <daniel.vetter@intel.com>
Signed-off-by: default avatarNoralf Trønnes <noralf@tronnes.org>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20170326142529.16938-1-noralf@tronnes.org
parent 187697a4
...@@ -122,21 +122,6 @@ void tinydrm_gem_cma_free_object(struct drm_gem_object *gem_obj) ...@@ -122,21 +122,6 @@ void tinydrm_gem_cma_free_object(struct drm_gem_object *gem_obj)
} }
EXPORT_SYMBOL_GPL(tinydrm_gem_cma_free_object); EXPORT_SYMBOL_GPL(tinydrm_gem_cma_free_object);
const struct file_operations tinydrm_fops = {
.owner = THIS_MODULE,
.open = drm_open,
.release = drm_release,
.unlocked_ioctl = drm_ioctl,
#ifdef CONFIG_COMPAT
.compat_ioctl = drm_compat_ioctl,
#endif
.poll = drm_poll,
.read = drm_read,
.llseek = no_llseek,
.mmap = drm_gem_cma_mmap,
};
EXPORT_SYMBOL(tinydrm_fops);
static struct drm_framebuffer * static struct drm_framebuffer *
tinydrm_fb_create(struct drm_device *drm, struct drm_file *file_priv, tinydrm_fb_create(struct drm_device *drm, struct drm_file *file_priv,
const struct drm_mode_fb_cmd2 *mode_cmd) const struct drm_mode_fb_cmd2 *mode_cmd)
......
...@@ -132,9 +132,12 @@ static const struct drm_display_mode mi0283qt_mode = { ...@@ -132,9 +132,12 @@ static const struct drm_display_mode mi0283qt_mode = {
TINYDRM_MODE(320, 240, 58, 43), TINYDRM_MODE(320, 240, 58, 43),
}; };
DEFINE_DRM_GEM_CMA_FOPS(mi0283qt_fops);
static struct drm_driver mi0283qt_driver = { static struct drm_driver mi0283qt_driver = {
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_PRIME | .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_PRIME |
DRIVER_ATOMIC, DRIVER_ATOMIC,
.fops = &mi0283qt_fops,
TINYDRM_GEM_DRIVER_OPS, TINYDRM_GEM_DRIVER_OPS,
.lastclose = tinydrm_lastclose, .lastclose = tinydrm_lastclose,
.debugfs_init = mipi_dbi_debugfs_init, .debugfs_init = mipi_dbi_debugfs_init,
......
...@@ -58,8 +58,7 @@ pipe_to_tinydrm(struct drm_simple_display_pipe *pipe) ...@@ -58,8 +58,7 @@ pipe_to_tinydrm(struct drm_simple_display_pipe *pipe)
.gem_prime_mmap = drm_gem_cma_prime_mmap, \ .gem_prime_mmap = drm_gem_cma_prime_mmap, \
.dumb_create = drm_gem_cma_dumb_create, \ .dumb_create = drm_gem_cma_dumb_create, \
.dumb_map_offset = drm_gem_cma_dumb_map_offset, \ .dumb_map_offset = drm_gem_cma_dumb_map_offset, \
.dumb_destroy = drm_gem_dumb_destroy, \ .dumb_destroy = drm_gem_dumb_destroy
.fops = &tinydrm_fops
/** /**
* TINYDRM_MODE - tinydrm display mode * TINYDRM_MODE - tinydrm display mode
...@@ -84,7 +83,6 @@ pipe_to_tinydrm(struct drm_simple_display_pipe *pipe) ...@@ -84,7 +83,6 @@ pipe_to_tinydrm(struct drm_simple_display_pipe *pipe)
.type = DRM_MODE_TYPE_DRIVER, \ .type = DRM_MODE_TYPE_DRIVER, \
.clock = 1 /* pass validation */ .clock = 1 /* pass validation */
extern const struct file_operations tinydrm_fops;
void tinydrm_lastclose(struct drm_device *drm); void tinydrm_lastclose(struct drm_device *drm);
void tinydrm_gem_cma_free_object(struct drm_gem_object *gem_obj); void tinydrm_gem_cma_free_object(struct drm_gem_object *gem_obj);
struct drm_gem_object * struct drm_gem_object *
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment