forked from Minki/linux
drm/rockchip: Use drm_fb_helper_lastclose() and _poll_changed()
This driver can use drm_fb_helper_lastclose() as its .lastclose callback. It can also use drm_fb_helper_output_poll_changed() as its .output_poll_changed callback. Cc: Mark Yao <mark.yao@rock-chips.com> Signed-off-by: Noralf Trønnes <noralf@tronnes.org> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/msgid/20171205182504.41923-11-noralf@tronnes.org
This commit is contained in:
parent
ef62d30878
commit
33e9d03822
@ -207,13 +207,6 @@ static void rockchip_drm_unbind(struct device *dev)
|
|||||||
drm_dev_unref(drm_dev);
|
drm_dev_unref(drm_dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void rockchip_drm_lastclose(struct drm_device *dev)
|
|
||||||
{
|
|
||||||
struct rockchip_drm_private *priv = dev->dev_private;
|
|
||||||
|
|
||||||
drm_fb_helper_restore_fbdev_mode_unlocked(&priv->fbdev_helper);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct file_operations rockchip_drm_driver_fops = {
|
static const struct file_operations rockchip_drm_driver_fops = {
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
.open = drm_open,
|
.open = drm_open,
|
||||||
@ -228,7 +221,7 @@ static const struct file_operations rockchip_drm_driver_fops = {
|
|||||||
static struct drm_driver rockchip_drm_driver = {
|
static struct drm_driver rockchip_drm_driver = {
|
||||||
.driver_features = DRIVER_MODESET | DRIVER_GEM |
|
.driver_features = DRIVER_MODESET | DRIVER_GEM |
|
||||||
DRIVER_PRIME | DRIVER_ATOMIC,
|
DRIVER_PRIME | DRIVER_ATOMIC,
|
||||||
.lastclose = rockchip_drm_lastclose,
|
.lastclose = drm_fb_helper_lastclose,
|
||||||
.gem_vm_ops = &drm_gem_cma_vm_ops,
|
.gem_vm_ops = &drm_gem_cma_vm_ops,
|
||||||
.gem_free_object_unlocked = rockchip_gem_free_object,
|
.gem_free_object_unlocked = rockchip_gem_free_object,
|
||||||
.dumb_create = rockchip_gem_dumb_create,
|
.dumb_create = rockchip_gem_dumb_create,
|
||||||
|
@ -167,20 +167,13 @@ err_gem_object_unreference:
|
|||||||
return ERR_PTR(ret);
|
return ERR_PTR(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void rockchip_drm_output_poll_changed(struct drm_device *dev)
|
|
||||||
{
|
|
||||||
struct rockchip_drm_private *private = dev->dev_private;
|
|
||||||
|
|
||||||
drm_fb_helper_hotplug_event(&private->fbdev_helper);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct drm_mode_config_helper_funcs rockchip_mode_config_helpers = {
|
static const struct drm_mode_config_helper_funcs rockchip_mode_config_helpers = {
|
||||||
.atomic_commit_tail = drm_atomic_helper_commit_tail_rpm,
|
.atomic_commit_tail = drm_atomic_helper_commit_tail_rpm,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct drm_mode_config_funcs rockchip_drm_mode_config_funcs = {
|
static const struct drm_mode_config_funcs rockchip_drm_mode_config_funcs = {
|
||||||
.fb_create = rockchip_user_fb_create,
|
.fb_create = rockchip_user_fb_create,
|
||||||
.output_poll_changed = rockchip_drm_output_poll_changed,
|
.output_poll_changed = drm_fb_helper_output_poll_changed,
|
||||||
.atomic_check = drm_atomic_helper_check,
|
.atomic_check = drm_atomic_helper_check,
|
||||||
.atomic_commit = drm_atomic_helper_commit,
|
.atomic_commit = drm_atomic_helper_commit,
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user