Hi Thierry, Le mardi 18 juillet 2023 à 09:45 +0200, Thierry Reding a écrit : > On Mon, Jul 17, 2023 at 09:14:12PM +0200, Paul Cercueil wrote: > > 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@xxxxxxxxxxxxxxx> > > > --- > > > drivers/pinctrl/tegra/pinctrl-tegra.c | 5 +---- > > > 1 file changed, 1 insertion(+), 4 deletions(-) > > > > > > diff --git a/drivers/pinctrl/tegra/pinctrl-tegra.c > > > b/drivers/pinctrl/tegra/pinctrl-tegra.c > > > index 4547cf66d03b..734c71ef005b 100644 > > > --- a/drivers/pinctrl/tegra/pinctrl-tegra.c > > > +++ b/drivers/pinctrl/tegra/pinctrl-tegra.c > > > @@ -747,10 +747,7 @@ static int tegra_pinctrl_resume(struct > > > device > > > *dev) > > > return 0; > > > } > > > > > > -const struct dev_pm_ops tegra_pinctrl_pm = { > > > - .suspend_noirq = &tegra_pinctrl_suspend, > > > - .resume_noirq = &tegra_pinctrl_resume > > > -}; > > > +DEFINE_NOIRQ_DEV_PM_OPS(tegra_pinctrl_pm, tegra_pinctrl_suspend, > > > tegra_pinctrl_resume); > > > > > > static bool tegra_pinctrl_gpio_node_has_range(struct tegra_pmx > > > *pmx) > > > { > > > > Another driver where using EXPORT_GPL_DEV_PM_OPS() would make more > > sense. > > We don't currently export these PM ops because none of the Tegra > pinctrl > drivers can be built as a module. This doesn't change anything. You'd want to use EXPORT_GPL_DEV_PM_OPS (or better, the namespaced version) so that the PM ops can be defined in one file and referenced in another, while still having them garbage- collected when CONFIG_PM is disabled. Cheers, -Paul