diff options
Diffstat (limited to 'drivers/gpu/drm/mxsfb/lcdif_drv.c')
-rw-r--r-- | drivers/gpu/drm/mxsfb/lcdif_drv.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/gpu/drm/mxsfb/lcdif_drv.c b/drivers/gpu/drm/mxsfb/lcdif_drv.c index 6494e8270..ea10bf815 100644 --- a/drivers/gpu/drm/mxsfb/lcdif_drv.c +++ b/drivers/gpu/drm/mxsfb/lcdif_drv.c @@ -167,7 +167,11 @@ static int lcdif_load(struct drm_device *drm) return ret; /* Modeset init */ - drm_mode_config_init(drm); + ret = drmm_mode_config_init(drm); + if (ret) { + dev_err(drm->dev, "Failed to initialize mode config\n"); + return ret; + } ret = lcdif_kms_init(lcdif); if (ret < 0) { @@ -227,7 +231,6 @@ static void lcdif_unload(struct drm_device *drm) drm_crtc_vblank_off(&lcdif->crtc); drm_kms_helper_poll_fini(drm); - drm_mode_config_cleanup(drm); pm_runtime_put_sync(drm->dev); pm_runtime_disable(drm->dev); @@ -340,9 +343,6 @@ static int __maybe_unused lcdif_suspend(struct device *dev) if (ret) return ret; - if (pm_runtime_suspended(dev)) - return 0; - return lcdif_rpm_suspend(dev); } @@ -350,8 +350,7 @@ static int __maybe_unused lcdif_resume(struct device *dev) { struct drm_device *drm = dev_get_drvdata(dev); - if (!pm_runtime_suspended(dev)) - lcdif_rpm_resume(dev); + lcdif_rpm_resume(dev); return drm_mode_config_helper_resume(drm); } |