return 0;
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int lpc32xx_kscan_suspend(struct device *dev)
 {
        struct platform_device *pdev = to_platform_device(dev);
        mutex_unlock(&input->mutex);
        return retval;
 }
-#endif
 
-static SIMPLE_DEV_PM_OPS(lpc32xx_kscan_pm_ops, lpc32xx_kscan_suspend,
-                        lpc32xx_kscan_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(lpc32xx_kscan_pm_ops, lpc32xx_kscan_suspend,
+                               lpc32xx_kscan_resume);
 
 static const struct of_device_id lpc32xx_kscan_match[] = {
        { .compatible = "nxp,lpc3220-key" },
        .probe          = lpc32xx_kscan_probe,
        .driver         = {
                .name   = DRV_NAME,
-               .pm     = &lpc32xx_kscan_pm_ops,
+               .pm     = pm_sleep_ptr(&lpc32xx_kscan_pm_ops),
                .of_match_table = lpc32xx_kscan_match,
        }
 };