static void vc4_drm_unbind(struct device *dev) { struct platform_device *pdev = to_platform_device(dev); struct drm_device *drm = platform_get_drvdata(pdev); drm_dev_unregister(drm); drm_fb_cma_fbdev_fini(drm); drm_mode_config_cleanup(drm); drm_dev_unref(drm); }
static int pl111_amba_remove(struct amba_device *amba_dev) { struct drm_device *drm = amba_get_drvdata(amba_dev); struct pl111_drm_dev_private *priv = drm->dev_private; drm_dev_unregister(drm); drm_fb_cma_fbdev_fini(drm); if (priv->panel) drm_panel_bridge_remove(priv->bridge); drm_mode_config_cleanup(drm); drm_dev_unref(drm); return 0; }
static void tinydrm_unregister(struct tinydrm_device *tdev) { drm_atomic_helper_shutdown(tdev->drm); drm_fb_cma_fbdev_fini(tdev->drm); drm_dev_unregister(tdev->drm); }