On Thu, Oct 20, 2022 at 07:50:44PM +0100, Paul Cercueil wrote: > Use the pm_ptr() macro to handle the .suspend/.resume callbacks. > > This macro allows 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. > > Signed-off-by: Paul Cercueil <paul@xxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxxxxxx> > Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> > Cc: Claudiu Beznea <claudiu.beznea@xxxxxxxxxxxxx> > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > > drivers/watchdog/at91rm9200_wdt.c | 11 ++--------- > drivers/watchdog/db8500_wdt.c | 9 ++------- > 2 files changed, 4 insertions(+), 16 deletions(-) > > diff --git a/drivers/watchdog/at91rm9200_wdt.c b/drivers/watchdog/at91rm9200_wdt.c > index 6d751eb8191d..5126454bb861 100644 > --- a/drivers/watchdog/at91rm9200_wdt.c > +++ b/drivers/watchdog/at91rm9200_wdt.c > @@ -278,8 +278,6 @@ static void at91wdt_shutdown(struct platform_device *pdev) > at91_wdt_stop(); > } > > -#ifdef CONFIG_PM > - > static int at91wdt_suspend(struct platform_device *pdev, pm_message_t message) > { > at91_wdt_stop(); > @@ -293,11 +291,6 @@ static int at91wdt_resume(struct platform_device *pdev) > return 0; > } > > -#else > -#define at91wdt_suspend NULL > -#define at91wdt_resume NULL > -#endif > - > static const struct of_device_id at91_wdt_dt_ids[] = { > { .compatible = "atmel,at91rm9200-wdt" }, > { /* sentinel */ } > @@ -308,8 +301,8 @@ static struct platform_driver at91wdt_driver = { > .probe = at91wdt_probe, > .remove = at91wdt_remove, > .shutdown = at91wdt_shutdown, > - .suspend = at91wdt_suspend, > - .resume = at91wdt_resume, > + .suspend = pm_ptr(at91wdt_suspend), > + .resume = pm_ptr(at91wdt_resume), > .driver = { > .name = "atmel_st_watchdog", > .of_match_table = at91_wdt_dt_ids, > diff --git a/drivers/watchdog/db8500_wdt.c b/drivers/watchdog/db8500_wdt.c > index 6ed8b63d310d..97148ac0aa54 100644 > --- a/drivers/watchdog/db8500_wdt.c > +++ b/drivers/watchdog/db8500_wdt.c > @@ -105,7 +105,6 @@ static int db8500_wdt_probe(struct platform_device *pdev) > return 0; > } > > -#ifdef CONFIG_PM > static int db8500_wdt_suspend(struct platform_device *pdev, > pm_message_t state) > { > @@ -130,15 +129,11 @@ static int db8500_wdt_resume(struct platform_device *pdev) > } > return 0; > } > -#else > -#define db8500_wdt_suspend NULL > -#define db8500_wdt_resume NULL > -#endif > > static struct platform_driver db8500_wdt_driver = { > .probe = db8500_wdt_probe, > - .suspend = db8500_wdt_suspend, > - .resume = db8500_wdt_resume, > + .suspend = pm_ptr(db8500_wdt_suspend), > + .resume = pm_ptr(db8500_wdt_resume), > .driver = { > .name = "db8500_wdt", > }, > -- > 2.35.1 >