WARN_ON(mtd_device_unregister(&fsm->mtd));
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int stfsmfsm_suspend(struct device *dev)
 {
        struct stfsm *fsm = dev_get_drvdata(dev);
 
        return clk_prepare_enable(fsm->clk);
 }
-#endif
 
-static SIMPLE_DEV_PM_OPS(stfsm_pm_ops, stfsmfsm_suspend, stfsmfsm_resume);
+static DEFINE_SIMPLE_DEV_PM_OPS(stfsm_pm_ops, stfsmfsm_suspend, stfsmfsm_resume);
 
 static const struct of_device_id stfsm_match[] = {
        { .compatible = "st,spi-fsm", },
        .driver         = {
                .name   = "st-spi-fsm",
                .of_match_table = stfsm_match,
-               .pm     = &stfsm_pm_ops,
+               .pm     = pm_sleep_ptr(&stfsm_pm_ops),
        },
 };
 module_platform_driver(stfsm_driver);