pinctrl: starfive: Move pm ops to pinctrl-starfive-jh7110.c
authorHal Feng <hal.feng@starfivetech.com>
Fri, 6 Jan 2023 08:15:21 +0000 (16:15 +0800)
committerHal Feng <hal.feng@starfivetech.com>
Mon, 9 Jan 2023 02:36:56 +0000 (10:36 +0800)
Because different SoCs have their own registers. We want to
save all registers in the pm suspend function and restore
them in the pm resume function.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c
drivers/pinctrl/starfive/pinctrl-starfive.c
drivers/pinctrl/starfive/pinctrl-starfive.h

index d7adf8b..e4a8042 100755 (executable)
@@ -1663,6 +1663,25 @@ static int starfive_jh7110_pinctrl_probe(struct platform_device *pdev)
        return starfive_pinctrl_probe(pdev, pinctrl_info);
 }
 
+static int __maybe_unused starfive_pinctrl_suspend(struct device *dev)
+{
+       struct starfive_pinctrl *pctl = dev_get_drvdata(dev);
+
+       return pinctrl_force_sleep(pctl->pctl_dev);
+}
+
+static int __maybe_unused starfive_pinctrl_resume(struct device *dev)
+{
+       struct starfive_pinctrl *pctl = dev_get_drvdata(dev);
+
+       return pinctrl_force_default(pctl->pctl_dev);
+}
+
+const struct dev_pm_ops starfive_pinctrl_pm_ops = {
+       SET_LATE_SYSTEM_SLEEP_PM_OPS(starfive_pinctrl_suspend,
+                                    starfive_pinctrl_resume)
+};
+
 static struct platform_driver starfive_jh7110_pinctrl_driver = {
        .driver = {
                .name = "starfive_jh7110-pinctrl",
index 262f573..127053f 100644 (file)
@@ -474,25 +474,6 @@ int starfive_pinctrl_probe(struct platform_device *pdev,
 }
 EXPORT_SYMBOL_GPL(starfive_pinctrl_probe);
 
-static int __maybe_unused starfive_pinctrl_suspend(struct device *dev)
-{
-       struct starfive_pinctrl *pctl = dev_get_drvdata(dev);
-
-       return pinctrl_force_sleep(pctl->pctl_dev);
-}
-
-static int __maybe_unused starfive_pinctrl_resume(struct device *dev)
-{
-       struct starfive_pinctrl *pctl = dev_get_drvdata(dev);
-
-       return pinctrl_force_default(pctl->pctl_dev);
-}
-
-const struct dev_pm_ops starfive_pinctrl_pm_ops = {
-       SET_LATE_SYSTEM_SLEEP_PM_OPS(starfive_pinctrl_suspend,
-                                       starfive_pinctrl_resume)
-};
-EXPORT_SYMBOL_GPL(starfive_pinctrl_pm_ops);
 MODULE_DESCRIPTION("Pinctrl driver for StarFive JH7110 SoC");
 MODULE_AUTHOR("jenny.zhang <jenny.zhang@starfivetech.com>");
 MODULE_LICENSE("GPL v2");
index 2db9df9..a319720 100644 (file)
@@ -20,7 +20,6 @@
 struct platform_device;
 
 extern const struct pinmux_ops starfive_pmx_ops;
-extern const struct dev_pm_ops starfive_pinctrl_pm_ops;
 
 struct starfive_pin_config {
        unsigned long io_config;