Re: [PATCH v2 05/10] pinctrl: lynxpoint: Make use of pm_ptr()

From: Jonathan Cameron
Date: Tue Jul 18 2023 - 06:06:29 EST


On Mon, 17 Jul 2023 20:28:16 +0300
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx>
> ---
> 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,
> },
> };