[PATCH v4 05/15] gpio: pxa: Use modern PM macros

Jisheng Zhang jszhang at kernel.org
Wed Nov 19 16:24:34 PST 2025


On Wed, Nov 19, 2025 at 07:41:44PM +0200, Andy Shevchenko wrote:
> On Thu, Nov 20, 2025 at 12:33:17AM +0800, Jisheng Zhang wrote:
> > Use the modern PM macros for the suspend and resume functions to be
> > automatically dropped by the compiler when CONFIG_PM or
> > CONFIG_PM_SLEEP are disabled, without having to use #ifdef guards.
> > 
> > This has the advantage of always compiling these functions in,
> > independently of any Kconfig option. Thanks to that, bugs and other
> > regressions are subsequently easier to catch.
> 
> ...
> 
> >  static struct syscore_ops pxa_gpio_syscore_ops = {
> > -	.suspend	= pxa_gpio_suspend,
> > -	.resume		= pxa_gpio_resume,
> > +	.suspend	= pm_ptr(pxa_gpio_suspend),
> > +	.resume		= pm_ptr(pxa_gpio_resume),
> >  };
> 
> I believe this needs to be thoroughly checked and thought through as
> this is *not* a dev_pm_ops.

pm_ptr()/pm_sleep_ptr() is defined in pm.h, so I think we can make use
of it for syscore_ops as well.
E.g This patch makes use of pm_ptr() to optimize out .suspend/.resume when !PM
while get in them when PM. Thus the same result can be acchieved between
before and after this patch.

> 
> -- 
> With Best Regards,
> Andy Shevchenko
> 
> 



More information about the linux-arm-kernel mailing list