Message ID | 20230717172821.62827-7-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 : > Since pm.h provides a helper for system no-IRQ PM callbacks, > switch the driver to use it instead of open coded variant. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Paul Cercueil <paul@crapouillou.net> Although you could add a bit more info in the message of this patch, to explain why it's OK to remove the __maybe_unused tags (the code is always visible) and why switch from pm_ptr() to pm_sleep_ptr() (it's only used for system-PM callbacks). Cheers, -Paul > --- > drivers/pinctrl/pinctrl-at91.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/drivers/pinctrl/pinctrl-at91.c > b/drivers/pinctrl/pinctrl-at91.c > index 39956d821ad7..608f55c5ba5f 100644 > --- a/drivers/pinctrl/pinctrl-at91.c > +++ b/drivers/pinctrl/pinctrl-at91.c > @@ -1657,7 +1657,7 @@ static int gpio_irq_set_wake(struct irq_data > *d, unsigned state) > return 0; > } > > -static int __maybe_unused at91_gpio_suspend(struct device *dev) > +static int at91_gpio_suspend(struct device *dev) > { > struct at91_gpio_chip *at91_chip = dev_get_drvdata(dev); > void __iomem *pio = at91_chip->regbase; > @@ -1675,7 +1675,7 @@ static int __maybe_unused > at91_gpio_suspend(struct device *dev) > return 0; > } > > -static int __maybe_unused at91_gpio_resume(struct device *dev) > +static int at91_gpio_resume(struct device *dev) > { > struct at91_gpio_chip *at91_chip = dev_get_drvdata(dev); > void __iomem *pio = at91_chip->regbase; > @@ -1903,15 +1903,13 @@ static int at91_gpio_probe(struct > platform_device *pdev) > return 0; > } > > -static const struct dev_pm_ops at91_gpio_pm_ops = { > - NOIRQ_SYSTEM_SLEEP_PM_OPS(at91_gpio_suspend, > at91_gpio_resume) > -}; > +static DEFINE_NOIRQ_DEV_PM_OPS(at91_gpio_pm_ops, at91_gpio_suspend, > at91_gpio_resume); > > static struct platform_driver at91_gpio_driver = { > .driver = { > .name = "gpio-at91", > .of_match_table = at91_gpio_of_match, > - .pm = pm_ptr(&at91_gpio_pm_ops), > + .pm = pm_sleep_ptr(&at91_gpio_pm_ops), > }, > .probe = at91_gpio_probe, > };
On Mon, Jul 17, 2023 at 10:26 PM Paul Cercueil <paul@crapouillou.net> wrote: > Le lundi 17 juillet 2023 à 20:28 +0300, Andy Shevchenko a écrit : > > Since pm.h provides a helper for system no-IRQ PM callbacks, > > switch the driver to use it instead of open coded variant. > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > Reviewed-by: Paul Cercueil <paul@crapouillou.net> Thank you! > Although you could add a bit more info in the message of this patch, to > explain why it's OK to remove the __maybe_unused tags (the code is > always visible) and why switch from pm_ptr() to pm_sleep_ptr() (it's > only used for system-PM callbacks). Sure.
On Mon, 17 Jul 2023 20:28:17 +0300 Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > Since pm.h provides a helper for system no-IRQ PM callbacks, > switch the driver to use it instead of open coded variant. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
On 17.07.2023 20:28, Andy Shevchenko wrote: > Since pm.h provides a helper for system no-IRQ PM callbacks, > switch the driver to use it instead of open coded variant. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Claudiu Beznea <claudiu.beznea@tuxon.dev> > --- > drivers/pinctrl/pinctrl-at91.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c > index 39956d821ad7..608f55c5ba5f 100644 > --- a/drivers/pinctrl/pinctrl-at91.c > +++ b/drivers/pinctrl/pinctrl-at91.c > @@ -1657,7 +1657,7 @@ static int gpio_irq_set_wake(struct irq_data *d, unsigned state) > return 0; > } > > -static int __maybe_unused at91_gpio_suspend(struct device *dev) > +static int at91_gpio_suspend(struct device *dev) > { > struct at91_gpio_chip *at91_chip = dev_get_drvdata(dev); > void __iomem *pio = at91_chip->regbase; > @@ -1675,7 +1675,7 @@ static int __maybe_unused at91_gpio_suspend(struct device *dev) > return 0; > } > > -static int __maybe_unused at91_gpio_resume(struct device *dev) > +static int at91_gpio_resume(struct device *dev) > { > struct at91_gpio_chip *at91_chip = dev_get_drvdata(dev); > void __iomem *pio = at91_chip->regbase; > @@ -1903,15 +1903,13 @@ static int at91_gpio_probe(struct platform_device *pdev) > return 0; > } > > -static const struct dev_pm_ops at91_gpio_pm_ops = { > - NOIRQ_SYSTEM_SLEEP_PM_OPS(at91_gpio_suspend, at91_gpio_resume) > -}; > +static DEFINE_NOIRQ_DEV_PM_OPS(at91_gpio_pm_ops, at91_gpio_suspend, at91_gpio_resume); > > static struct platform_driver at91_gpio_driver = { > .driver = { > .name = "gpio-at91", > .of_match_table = at91_gpio_of_match, > - .pm = pm_ptr(&at91_gpio_pm_ops), > + .pm = pm_sleep_ptr(&at91_gpio_pm_ops), > }, > .probe = at91_gpio_probe, > };
diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c index 39956d821ad7..608f55c5ba5f 100644 --- a/drivers/pinctrl/pinctrl-at91.c +++ b/drivers/pinctrl/pinctrl-at91.c @@ -1657,7 +1657,7 @@ static int gpio_irq_set_wake(struct irq_data *d, unsigned state) return 0; } -static int __maybe_unused at91_gpio_suspend(struct device *dev) +static int at91_gpio_suspend(struct device *dev) { struct at91_gpio_chip *at91_chip = dev_get_drvdata(dev); void __iomem *pio = at91_chip->regbase; @@ -1675,7 +1675,7 @@ static int __maybe_unused at91_gpio_suspend(struct device *dev) return 0; } -static int __maybe_unused at91_gpio_resume(struct device *dev) +static int at91_gpio_resume(struct device *dev) { struct at91_gpio_chip *at91_chip = dev_get_drvdata(dev); void __iomem *pio = at91_chip->regbase; @@ -1903,15 +1903,13 @@ static int at91_gpio_probe(struct platform_device *pdev) return 0; } -static const struct dev_pm_ops at91_gpio_pm_ops = { - NOIRQ_SYSTEM_SLEEP_PM_OPS(at91_gpio_suspend, at91_gpio_resume) -}; +static DEFINE_NOIRQ_DEV_PM_OPS(at91_gpio_pm_ops, at91_gpio_suspend, at91_gpio_resume); static struct platform_driver at91_gpio_driver = { .driver = { .name = "gpio-at91", .of_match_table = at91_gpio_of_match, - .pm = pm_ptr(&at91_gpio_pm_ops), + .pm = pm_sleep_ptr(&at91_gpio_pm_ops), }, .probe = at91_gpio_probe, };
Since pm.h provides a helper for system no-IRQ PM callbacks, switch the driver to use it instead of open coded variant. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/pinctrl/pinctrl-at91.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)