Hi Marc & Vicente, On 06/13/2018 06:26 PM, Marc Zyngier wrote: >> > >> >--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c >> >+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c >> >@@ -451,6 +451,7 @@ >> > static struct platform_driver rockchip_drm_platform_driver = { >> > .probe = rockchip_drm_platform_probe, >> > .remove = rockchip_drm_platform_remove, >> >+ .shutdown = (void (*)(struct platform_device >> >*))rockchip_drm_platform_remove, > No, please...:-( Provide a wrapper that returns void instead. hmmm, this is just a test only hack, i am thinking maybe drm_atomic_helper_shutdown is enough for shutdown() ? something like: +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c @@ -442,6 +442,14 @@ static int rockchip_drm_platform_remove(struct platform_device *pdev) return 0; } +static void rockchip_drm_platform_shutdown(struct platform_device *pdev) +{ + struct drm_device *drm = platform_get_drvdata(pdev); + + if (drm) + drm_atomic_helper_shutdown(drm); +} + >