From: Hal Feng Date: Fri, 6 Jan 2023 08:15:21 +0000 (+0800) Subject: pinctrl: starfive: Move pm ops to pinctrl-starfive-jh7110.c X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3c22d345773f1211c8651f3ef590a037d2cb2e58;p=platform%2Fkernel%2Flinux-starfive.git pinctrl: starfive: Move pm ops to pinctrl-starfive-jh7110.c 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 --- diff --git a/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c b/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c index d7adf8b3332d..e4a804224421 100755 --- a/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c +++ b/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c @@ -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", diff --git a/drivers/pinctrl/starfive/pinctrl-starfive.c b/drivers/pinctrl/starfive/pinctrl-starfive.c index 262f573bc370..127053fe096b 100644 --- a/drivers/pinctrl/starfive/pinctrl-starfive.c +++ b/drivers/pinctrl/starfive/pinctrl-starfive.c @@ -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 "); MODULE_LICENSE("GPL v2"); diff --git a/drivers/pinctrl/starfive/pinctrl-starfive.h b/drivers/pinctrl/starfive/pinctrl-starfive.h index 2db9df9550af..a319720b8d82 100644 --- a/drivers/pinctrl/starfive/pinctrl-starfive.h +++ b/drivers/pinctrl/starfive/pinctrl-starfive.h @@ -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;