summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/hisilicon
diff options
context:
space:
mode:
authorXinliang Liu <xinliang.liu@linaro.org>2016-05-08 11:48:55 +0200
committerXinliang Liu <xinliang.liu@linaro.org>2016-05-11 13:05:36 +0200
commit12cb4c87aa587ff476ffc71120f2dc5d2e857256 (patch)
treed74c02fef708a196621ce2c827561a95d8929b33 /drivers/gpu/drm/hisilicon
parentdrm/hisilicon: Use drm_connector_register_all (diff)
downloadlinux-12cb4c87aa587ff476ffc71120f2dc5d2e857256.tar.xz
linux-12cb4c87aa587ff476ffc71120f2dc5d2e857256.zip
drm/hisilicon: Make kirin_drm_unbind sufficient
Remove deprecated drm_put_dev. Clean up everything needed in unbind. Thanks to Daniel Vetter, this issue is reported by him. Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reported-by: Daniel Vetter <daniel.vetter@intel.com> Signed-off-by: Xinliang Liu <xinliang.liu@linaro.org>
Diffstat (limited to 'drivers/gpu/drm/hisilicon')
-rw-r--r--drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
index bc410ee584b7..3f94785fbcca 100644
--- a/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
@@ -244,7 +244,12 @@ err_drm_dev_unref:
static void kirin_drm_unbind(struct device *dev)
{
- drm_put_dev(dev_get_drvdata(dev));
+ struct drm_device *drm_dev = dev_get_drvdata(dev);
+
+ drm_connector_unregister_all(drm_dev);
+ drm_dev_unregister(drm_dev);
+ kirin_drm_kms_cleanup(drm_dev);
+ drm_dev_unref(drm_dev);
}
static const struct component_master_ops kirin_drm_ops = {