On Thu, Nov 20, 2025 at 2:42 AM Jisheng Zhang <jszhang@kernel.org> wrote:
> 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.
At bare minimum this should be mentioned in the commit message that
you were/are aware of the data type differences.
--
With Best Regards,
Andy Shevchenko