watchdog: kempld: Remove #ifdef guards for PM related functions
authorPaul Cercueil <paul@crapouillou.net>
Thu, 20 Oct 2022 18:50:47 +0000 (19:50 +0100)
committerWim Van Sebroeck <wim@linux-watchdog.org>
Sat, 19 Nov 2022 14:30:39 +0000 (15:30 +0100)
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@crapouillou.net>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20221020185047.1001522-5-paul@crapouillou.net
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
drivers/watchdog/kempld_wdt.c

index 40bd518ed87387a2f28b2d3e2ab3fd8002565df7..e6c7a2906680436912d809619600fc2a9919efa6 100644 (file)
@@ -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);