On Thu, 30 Jun 2022, Paul Cercueil wrote: > Hi Ilpo, > > Le jeu., juin 30 2022 at 10:41:40 +0300, Ilpo Järvinen > <ilpo.jarvinen@xxxxxxxxxxxxxxx> a écrit : > > On Wed, 29 Jun 2022, Andy Shevchenko wrote: > > > > > Drop CONFIG_PM and CONFIG_PM_SLEEP ifdeffery while converting > > > dw8250_pm_ops > > > to use new PM macros. > > > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > > > > Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> > > > > Not directily related to the patch itself but do you have any idea why > > 1a3c7bb08826 ("PM: core: Add new *_PM_OPS macros, deprecate old ones") > > didn't wrap RUNTIME_PM_OPS() pointers with pm_ptr()? I'm asking this > > because in SET_RUNTIME_PM_OPS() the callbacks are only created with > > #ifdef CONFIG_PM so I'd have expected RUNTIME_PM_OPS() to maintain that > > behavior but it didn't? Was it just an oversight that should be fixed? > > The RUNTIME_PM_OPS() does not wrap pointers with pm_ptr(), because the pointer > to the dev_pm_ops should only ever be used wrapped with pm_ptr() or > pm_sleep_ptr(). > > Which is not done here. Ok, thanks a lot for the explanation. It's really appreciated. -- i. > Andy: > The deference of dw8250_pm_ops should be pm_ptr(&dw8250_pm_ops). If you only > had system suspend/resume functions, you'd use pm_sleep_ptr() there.