Message ID | 20230717172821.62827-6-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | pinctrl: Provide NOIRQ PM helper and use it | expand |
Hi Andy, Le lundi 17 juillet 2023 à 20:28 +0300, Andy Shevchenko a écrit : > Cleaning up the driver to use pm_ptr() and *_PM_OPS() macros that > make it simpler and allows the compiler to remove those functions > if built without CONFIG_PM and CONFIG_PM_SLEEP support. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Paul Cercueil <paul@crapouillou.net> Cheers, -Paul > --- > drivers/pinctrl/intel/pinctrl-lynxpoint.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/pinctrl/intel/pinctrl-lynxpoint.c > b/drivers/pinctrl/intel/pinctrl-lynxpoint.c > index cdace55aaeac..50d92bf80e20 100644 > --- a/drivers/pinctrl/intel/pinctrl-lynxpoint.c > +++ b/drivers/pinctrl/intel/pinctrl-lynxpoint.c > @@ -948,9 +948,8 @@ static int lp_gpio_resume(struct device *dev) > } > > static const struct dev_pm_ops lp_gpio_pm_ops = { > - .runtime_suspend = lp_gpio_runtime_suspend, > - .runtime_resume = lp_gpio_runtime_resume, > - .resume = lp_gpio_resume, > + SYSTEM_SLEEP_PM_OPS(NULL, lp_gpio_resume) > + RUNTIME_PM_OPS(lp_gpio_runtime_suspend, > lp_gpio_runtime_resume, NULL) > }; > > static const struct acpi_device_id lynxpoint_gpio_acpi_match[] = { > @@ -965,7 +964,7 @@ static struct platform_driver lp_gpio_driver = { > .remove = lp_gpio_remove, > .driver = { > .name = "lp_gpio", > - .pm = &lp_gpio_pm_ops, > + .pm = pm_ptr(&lp_gpio_pm_ops), > .acpi_match_table = lynxpoint_gpio_acpi_match, > }, > };
On Mon, 17 Jul 2023 20:28:16 +0300 Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > Cleaning up the driver to use pm_ptr() and *_PM_OPS() macros that > make it simpler and allows the compiler to remove those functions > if built without CONFIG_PM and CONFIG_PM_SLEEP support. > Those macros add a load more callbacks... Whilst that may well be fine, you should definitely mention that in this patch description. > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > drivers/pinctrl/intel/pinctrl-lynxpoint.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/pinctrl/intel/pinctrl-lynxpoint.c b/drivers/pinctrl/intel/pinctrl-lynxpoint.c > index cdace55aaeac..50d92bf80e20 100644 > --- a/drivers/pinctrl/intel/pinctrl-lynxpoint.c > +++ b/drivers/pinctrl/intel/pinctrl-lynxpoint.c > @@ -948,9 +948,8 @@ static int lp_gpio_resume(struct device *dev) > } > > static const struct dev_pm_ops lp_gpio_pm_ops = { > - .runtime_suspend = lp_gpio_runtime_suspend, > - .runtime_resume = lp_gpio_runtime_resume, > - .resume = lp_gpio_resume, > + SYSTEM_SLEEP_PM_OPS(NULL, lp_gpio_resume) > + RUNTIME_PM_OPS(lp_gpio_runtime_suspend, lp_gpio_runtime_resume, NULL) > }; > > static const struct acpi_device_id lynxpoint_gpio_acpi_match[] = { > @@ -965,7 +964,7 @@ static struct platform_driver lp_gpio_driver = { > .remove = lp_gpio_remove, > .driver = { > .name = "lp_gpio", > - .pm = &lp_gpio_pm_ops, > + .pm = pm_ptr(&lp_gpio_pm_ops), > .acpi_match_table = lynxpoint_gpio_acpi_match, > }, > };
On Tue, Jul 18, 2023 at 11:06:20AM +0100, Jonathan Cameron wrote: > On Mon, 17 Jul 2023 20:28:16 +0300 > Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > > > Cleaning up the driver to use pm_ptr() and *_PM_OPS() macros that > > make it simpler and allows the compiler to remove those functions > > if built without CONFIG_PM and CONFIG_PM_SLEEP support. > Those macros I believe you meant here "The SYSTEM_SLEEP... macro..." Or is runtime PM also altered? Hmm... > add a load more callbacks... Whilst that may well be fine, > you should definitely mention that in this patch description. Sure.
diff --git a/drivers/pinctrl/intel/pinctrl-lynxpoint.c b/drivers/pinctrl/intel/pinctrl-lynxpoint.c index cdace55aaeac..50d92bf80e20 100644 --- a/drivers/pinctrl/intel/pinctrl-lynxpoint.c +++ b/drivers/pinctrl/intel/pinctrl-lynxpoint.c @@ -948,9 +948,8 @@ static int lp_gpio_resume(struct device *dev) } static const struct dev_pm_ops lp_gpio_pm_ops = { - .runtime_suspend = lp_gpio_runtime_suspend, - .runtime_resume = lp_gpio_runtime_resume, - .resume = lp_gpio_resume, + SYSTEM_SLEEP_PM_OPS(NULL, lp_gpio_resume) + RUNTIME_PM_OPS(lp_gpio_runtime_suspend, lp_gpio_runtime_resume, NULL) }; static const struct acpi_device_id lynxpoint_gpio_acpi_match[] = { @@ -965,7 +964,7 @@ static struct platform_driver lp_gpio_driver = { .remove = lp_gpio_remove, .driver = { .name = "lp_gpio", - .pm = &lp_gpio_pm_ops, + .pm = pm_ptr(&lp_gpio_pm_ops), .acpi_match_table = lynxpoint_gpio_acpi_match, }, };
Cleaning up the driver to use pm_ptr() and *_PM_OPS() macros that make it simpler and allows the compiler to remove those functions if built without CONFIG_PM and CONFIG_PM_SLEEP support. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/pinctrl/intel/pinctrl-lynxpoint.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)