mirror of https://gitee.com/openkylin/linux.git
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
This commit is contained in:
parent
187697a454
commit
79b85d2b7e
|
@ -122,21 +122,6 @@ void tinydrm_gem_cma_free_object(struct drm_gem_object *gem_obj)
|
|||
}
|
||||
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 *
|
||||
tinydrm_fb_create(struct drm_device *drm, struct drm_file *file_priv,
|
||||
const struct drm_mode_fb_cmd2 *mode_cmd)
|
||||
|
|
|
@ -132,9 +132,12 @@ static const struct drm_display_mode mi0283qt_mode = {
|
|||
TINYDRM_MODE(320, 240, 58, 43),
|
||||
};
|
||||
|
||||
DEFINE_DRM_GEM_CMA_FOPS(mi0283qt_fops);
|
||||
|
||||
static struct drm_driver mi0283qt_driver = {
|
||||
.driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_PRIME |
|
||||
DRIVER_ATOMIC,
|
||||
.fops = &mi0283qt_fops,
|
||||
TINYDRM_GEM_DRIVER_OPS,
|
||||
.lastclose = tinydrm_lastclose,
|
||||
.debugfs_init = mipi_dbi_debugfs_init,
|
||||
|
|
|
@ -58,8 +58,7 @@ pipe_to_tinydrm(struct drm_simple_display_pipe *pipe)
|
|||
.gem_prime_mmap = drm_gem_cma_prime_mmap, \
|
||||
.dumb_create = drm_gem_cma_dumb_create, \
|
||||
.dumb_map_offset = drm_gem_cma_dumb_map_offset, \
|
||||
.dumb_destroy = drm_gem_dumb_destroy, \
|
||||
.fops = &tinydrm_fops
|
||||
.dumb_destroy = drm_gem_dumb_destroy
|
||||
|
||||
/**
|
||||
* TINYDRM_MODE - tinydrm display mode
|
||||
|
@ -84,7 +83,6 @@ pipe_to_tinydrm(struct drm_simple_display_pipe *pipe)
|
|||
.type = DRM_MODE_TYPE_DRIVER, \
|
||||
.clock = 1 /* pass validation */
|
||||
|
||||
extern const struct file_operations tinydrm_fops;
|
||||
void tinydrm_lastclose(struct drm_device *drm);
|
||||
void tinydrm_gem_cma_free_object(struct drm_gem_object *gem_obj);
|
||||
struct drm_gem_object *
|
||||
|
|
Loading…
Reference in New Issue