Merge tag 'gpio-v3.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
[firefly-linux-kernel-4.4.55.git] / drivers / pinctrl / pinctrl-nomadik.c
index db0cc30c82de5d79fefefb56fa70fd194d2177d5..208341fd57d27f9f7dc3ed3df63783bac5a09fd1 100644 (file)
@@ -1974,27 +1974,29 @@ static const struct of_device_id nmk_pinctrl_match[] = {
        {},
 };
 
-static int nmk_pinctrl_suspend(struct platform_device *pdev, pm_message_t state)
+#ifdef CONFIG_PM_SLEEP
+static int nmk_pinctrl_suspend(struct device *dev)
 {
        struct nmk_pinctrl *npct;
 
-       npct = platform_get_drvdata(pdev);
+       npct = dev_get_drvdata(dev);
        if (!npct)
                return -EINVAL;
 
        return pinctrl_force_sleep(npct->pctl);
 }
 
-static int nmk_pinctrl_resume(struct platform_device *pdev)
+static int nmk_pinctrl_resume(struct device *dev)
 {
        struct nmk_pinctrl *npct;
 
-       npct = platform_get_drvdata(pdev);
+       npct = dev_get_drvdata(dev);
        if (!npct)
                return -EINVAL;
 
        return pinctrl_force_default(npct->pctl);
 }
+#endif
 
 static int nmk_pinctrl_probe(struct platform_device *pdev)
 {
@@ -2083,17 +2085,18 @@ static struct platform_driver nmk_gpio_driver = {
        .probe = nmk_gpio_probe,
 };
 
+static SIMPLE_DEV_PM_OPS(nmk_pinctrl_pm_ops,
+                       nmk_pinctrl_suspend,
+                       nmk_pinctrl_resume);
+
 static struct platform_driver nmk_pinctrl_driver = {
        .driver = {
                .owner = THIS_MODULE,
                .name = "pinctrl-nomadik",
                .of_match_table = nmk_pinctrl_match,
+               .pm = &nmk_pinctrl_pm_ops,
        },
        .probe = nmk_pinctrl_probe,
-#ifdef CONFIG_PM
-       .suspend = nmk_pinctrl_suspend,
-       .resume = nmk_pinctrl_resume,
-#endif
 };
 
 static int __init nmk_gpio_init(void)