On Tue, Jun 28, 2022 at 08:34:48PM +0100, Paul Cercueil wrote: > Use the new DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() macros to > handle the .suspend/.resume callbacks. > > These macros allow the suspend and resume functions to be automatically > dropped by the compiler when CONFIG_SUSPEND is disabled, without having > to use #ifdef guards. Not using #ifdef guards means that the code is > always compiled independently of any Kconfig option, and thanks to that > bugs and regressions are easier to catch. > > While at it, the functions tegra_wdt_runtime_{suspend,resume} were > renamed to tegra_wdt_{suspend,resume}, as they are *not* runtime-PM > callbacks, but standard system suspend/resume callbacks. > > Signed-off-by: Paul Cercueil <paul@xxxxxxxxxxxxxxx> > Cc: Thierry Reding <thierry.reding@xxxxxxxxx> > Cc: Jonathan Hunter <jonathanh@xxxxxxxxxx> > Cc: linux-tegra@xxxxxxxxxxxxxxx Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > drivers/watchdog/tegra_wdt.c | 14 +++++--------- > 1 file changed, 5 insertions(+), 9 deletions(-) > > diff --git a/drivers/watchdog/tegra_wdt.c b/drivers/watchdog/tegra_wdt.c > index dfe06e506cad..d5de6c0657a5 100644 > --- a/drivers/watchdog/tegra_wdt.c > +++ b/drivers/watchdog/tegra_wdt.c > @@ -230,8 +230,7 @@ static int tegra_wdt_probe(struct platform_device *pdev) > return 0; > } > > -#ifdef CONFIG_PM_SLEEP > -static int tegra_wdt_runtime_suspend(struct device *dev) > +static int tegra_wdt_suspend(struct device *dev) > { > struct tegra_wdt *wdt = dev_get_drvdata(dev); > > @@ -241,7 +240,7 @@ static int tegra_wdt_runtime_suspend(struct device *dev) > return 0; > } > > -static int tegra_wdt_runtime_resume(struct device *dev) > +static int tegra_wdt_resume(struct device *dev) > { > struct tegra_wdt *wdt = dev_get_drvdata(dev); > > @@ -250,7 +249,6 @@ static int tegra_wdt_runtime_resume(struct device *dev) > > return 0; > } > -#endif > > static const struct of_device_id tegra_wdt_of_match[] = { > { .compatible = "nvidia,tegra30-timer", }, > @@ -258,16 +256,14 @@ static const struct of_device_id tegra_wdt_of_match[] = { > }; > MODULE_DEVICE_TABLE(of, tegra_wdt_of_match); > > -static const struct dev_pm_ops tegra_wdt_pm_ops = { > - SET_SYSTEM_SLEEP_PM_OPS(tegra_wdt_runtime_suspend, > - tegra_wdt_runtime_resume) > -}; > +static DEFINE_SIMPLE_DEV_PM_OPS(tegra_wdt_pm_ops, > + tegra_wdt_suspend, tegra_wdt_resume); > > static struct platform_driver tegra_wdt_driver = { > .probe = tegra_wdt_probe, > .driver = { > .name = "tegra-wdt", > - .pm = &tegra_wdt_pm_ops, > + .pm = pm_sleep_ptr(&tegra_wdt_pm_ops), > .of_match_table = tegra_wdt_of_match, > }, > }; > -- > 2.35.1 >