On Thu, Oct 20, 2022 at 07:50:47PM +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> > --- > drivers/watchdog/kempld_wdt.c | 11 ++--------- > 1 file changed, 2 insertions(+), 9 deletions(-) > > diff --git a/drivers/watchdog/kempld_wdt.c b/drivers/watchdog/kempld_wdt.c > index 40bd518ed873..e6c7a2906680 100644 > --- a/drivers/watchdog/kempld_wdt.c > +++ b/drivers/watchdog/kempld_wdt.c > @@ -75,9 +75,7 @@ struct kempld_wdt_data { > struct watchdog_device wdd; > unsigned int pretimeout; > struct kempld_wdt_stage stage[KEMPLD_WDT_MAX_STAGES]; > -#ifdef CONFIG_PM > u8 pm_status_store; > -#endif > }; > > #define DEFAULT_TIMEOUT 30 /* seconds */ > @@ -495,7 +493,6 @@ static int kempld_wdt_probe(struct platform_device *pdev) > return 0; > } > > -#ifdef CONFIG_PM > /* Disable watchdog if it is active during suspend */ > static int kempld_wdt_suspend(struct platform_device *pdev, > pm_message_t message) > @@ -531,18 +528,14 @@ static int kempld_wdt_resume(struct platform_device *pdev) > else > return kempld_wdt_stop(wdd); > } > -#else > -#define kempld_wdt_suspend NULL > -#define kempld_wdt_resume NULL > -#endif > > static struct platform_driver kempld_wdt_driver = { > .driver = { > .name = "kempld-wdt", > }, > .probe = kempld_wdt_probe, > - .suspend = kempld_wdt_suspend, > - .resume = kempld_wdt_resume, > + .suspend = pm_ptr(kempld_wdt_suspend), > + .resume = pm_ptr(kempld_wdt_resume), > }; > > module_platform_driver(kempld_wdt_driver); > -- > 2.35.1 >