return 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int atmel_hlcdc_dc_drm_suspend(struct device *dev)
 {
        struct drm_device *drm_dev = dev_get_drvdata(dev);
 
        return drm_atomic_helper_resume(drm_dev, dc->suspend.state);
 }
-#endif
 
-static SIMPLE_DEV_PM_OPS(atmel_hlcdc_dc_drm_pm_ops,
-               atmel_hlcdc_dc_drm_suspend, atmel_hlcdc_dc_drm_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(atmel_hlcdc_dc_drm_pm_ops,
+                               atmel_hlcdc_dc_drm_suspend,
+                               atmel_hlcdc_dc_drm_resume);
 
 static const struct of_device_id atmel_hlcdc_dc_of_match[] = {
        { .compatible = "atmel,hlcdc-display-controller" },
        .remove = atmel_hlcdc_dc_drm_remove,
        .driver = {
                .name   = "atmel-hlcdc-display-controller",
-               .pm     = &atmel_hlcdc_dc_drm_pm_ops,
+               .pm     = pm_sleep_ptr(&atmel_hlcdc_dc_drm_pm_ops),
                .of_match_table = atmel_hlcdc_dc_of_match,
        },
 };