Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+6 -1
+6 -1
drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c
··· 244 244 245 245 static void kirin_drm_unbind(struct device *dev) 246 246 { 247 - drm_put_dev(dev_get_drvdata(dev)); 247 + struct drm_device *drm_dev = dev_get_drvdata(dev); 248 + 249 + drm_connector_unregister_all(drm_dev); 250 + drm_dev_unregister(drm_dev); 251 + kirin_drm_kms_cleanup(drm_dev); 252 + drm_dev_unref(drm_dev); 248 253 } 249 254 250 255 static const struct component_master_ops kirin_drm_ops = {