pinctrl: imx: Switch to LATE_SYSTEM_SLEEP_PM_OPS()
Subsystems (4)
Fabio Estevam
maintainerPATCH v2 1/1 pinctrl: imx: Switch to LATE_SYSTEM_SLEEP_PM_OPS()
From: Fabio Estevam <[email protected]>
Replace SET_LATE_SYSTEM_SLEEP_PM_OPS() with its modern LATE_SYSTEM_SLEEP_PM_OPS() alternative.
The combined usage of pm_ptr() and LATE_SYSTEM_SLEEP_PM_OPS() allows the compiler to evaluate if the runtime suspend/resume() functions are used at build time or are simply dead code.
This allows removing the __maybe_unused notation from the runtime suspend/resume() functions.
---
Changes since v1:
- Pass pm_ptr() to the correct ops structure.
drivers/pinctrl/freescale/pinctrl-imx.c | 7 +++---- drivers/pinctrl/freescale/pinctrl-imx8mq.c | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-)
drivers/pinctrl/freescale/pinctrl-imx.c +3 -4
@@ -804,14 +804,14 @@ int imx_pinctrl_probe(struct platform_device *pdev, }EXPORT_SYMBOL_GPL (imx_pinctrl_probe); -static int __maybe_unused imx_pinctrl_suspend (struct device *dev) +static int imx_pinctrl_suspend (struct device *dev) {struct imx_pinctrl *ipctl =dev_get_drvdata (dev);return pinctrl_force_sleep (ipctl->pctl); } -static int __maybe_unused imx_pinctrl_resume (struct device *dev) +static int imx_pinctrl_resume (struct device *dev) {struct imx_pinctrl *ipctl =dev_get_drvdata (dev);
@@ -819,8 +819,7 @@ static int __maybe_unused imx_pinctrl_resume(struct device *dev) }const struct dev_pm_ops imx_pinctrl_pm_ops = { -SET_LATE_SYSTEM_SLEEP_PM_OPS (imx_pinctrl_suspend, - imx_pinctrl_resume) +LATE_SYSTEM_SLEEP_PM_OPS (imx_pinctrl_suspend, imx_pinctrl_resume) };EXPORT_SYMBOL_GPL (imx_pinctrl_pm_ops);
drivers/pinctrl/freescale/pinctrl-imx8mq.c +1 -1
@@ -341,7 +341,7 @@ static struct platform_driver imx8mq_pinctrl_driver = { .driver = { .name = "imx8mq-pinctrl", .of_match_table = imx8mq_pinctrl_of_match, - .pm = &imx_pinctrl_pm_ops, + .pm = pm_ptr(&imx_pinctrl_pm_ops), .suppress_bind_attrs = true, }, .probe = imx8mq_pinctrl_probe,
Signature · 1 line
2.34.1
Quoted 61 lines
Subject: [PATCH v2] pinctrl: imx: Switch to
LATE_SYSTEM_SLEEP_PM_OPS()From: Fabio Estevam <[email protected]>
Replace
SET_LATE_SYSTEM_SLEEP_PM_OPS()with its modernLATE_SYSTEM_SLEEP_PM_OPS()alternative.The combined usage of
pm_ptr()andLATE_SYSTEM_SLEEP_PM_OPS()allows the compiler to evaluate if the runtime suspend/resume() functions are used at build time or are simply dead code.This allows removing the
__maybe_unusednotation from the runtime suspend/resume() functions.Signed-off-by Fabio Estevam <[email protected]>---
Changes since v1:
- Passpm_ptr()to the correct ops structure.drivers/pinctrl/freescale/pinctrl-imx.c | 7 +++---- drivers/pinctrl/freescale/pinctrl-imx8mq.c | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-)drivers/pinctrl/freescale/pinctrl-imx.c +3
-4@@ -804,14 +804,14 @@ int imx_pinctrl_probe(struct platform_device *pdev, } EXPORT_SYMBOL_GPL(imx_pinctrl_probe); -static int __maybe_unused imx_pinctrl_suspend (struct device *dev) +static int imx_pinctrl_suspend (struct device *dev) {struct imx_pinctrl *ipctl =dev_get_drvdata (dev);return pinctrl_force_sleep (ipctl->pctl); } -static int __maybe_unused imx_pinctrl_resume (struct device *dev) +static int imx_pinctrl_resume (struct device *dev) {struct imx_pinctrl *ipctl =dev_get_drvdata (dev);@@ -819,8 +819,7 @@ static int __maybe_unused imx_pinctrl_resume(struct device *dev) }const struct dev_pm_ops imx_pinctrl_pm_ops = { -SET_LATE_SYSTEM_SLEEP_PM_OPS (imx_pinctrl_suspend, - imx_pinctrl_resume) +LATE_SYSTEM_SLEEP_PM_OPS (imx_pinctrl_suspend, imx_pinctrl_resume) };EXPORT_SYMBOL_GPL (imx_pinctrl_pm_ops);drivers/pinctrl/freescale/pinctrl-imx8mq.c +0
-0
drivers/pinctrl/freescale/pinctrl-imx8mq.c static struct platform_driver · line 345
Quoted 6 lines
drivers/pinctrl/freescale/pinctrl-imx8mq.c +1
-1@@ -341,7 +341,7 @@ static struct platform_driver imx8mq_pinctrl_driver = { .driver = { .name = "imx8mq-pinctrl", .of_match_table = imx8mq_pinctrl_of_match, - .pm = &imx_pinctrl_pm_ops, + .pm = pm_ptr(&imx_pinctrl_pm_ops),
I see other pinctrl drivers are using pm_sleep_ptr, pm_sleep_ptr is better here?
Thanks,
Peng.
Quoted 6 lines
drivers/pinctrl/freescale/pinctrl-imx8mq.c +0
-0.suppress_bind_attrs = true, },.probe =
imx8mq_pinctrl_probe,
--
2.34.1