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);
|
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 = {
|
||||||
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)
|
||||||
.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)
|
||||||
.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 *
|
||||||
|
|
Loading…
Reference in New Issue