};
 MODULE_DEVICE_TABLE(of, atmel_tcb_pwm_dt_ids);
 
-#ifdef CONFIG_PM_SLEEP
 static int atmel_tcb_pwm_suspend(struct device *dev)
 {
        struct atmel_tcb_pwm_chip *tcbpwm = dev_get_drvdata(dev);
 
        return 0;
 }
-#endif
 
-static SIMPLE_DEV_PM_OPS(atmel_tcb_pwm_pm_ops, atmel_tcb_pwm_suspend,
-                        atmel_tcb_pwm_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(atmel_tcb_pwm_pm_ops, atmel_tcb_pwm_suspend,
+                               atmel_tcb_pwm_resume);
 
 static struct platform_driver atmel_tcb_pwm_driver = {
        .driver = {
                .name = "atmel-tcb-pwm",
                .of_match_table = atmel_tcb_pwm_dt_ids,
-               .pm = &atmel_tcb_pwm_pm_ops,
+               .pm = pm_ptr(&atmel_tcb_pwm_pm_ops),
        },
        .probe = atmel_tcb_pwm_probe,
        .remove_new = atmel_tcb_pwm_remove,