hwmon: (gpio-fan) Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 25 Sep 2022 17:27:46 +0000 (18:27 +0100)
committerGuenter Roeck <linux@roeck-us.net>
Sun, 25 Sep 2022 21:22:12 +0000 (14:22 -0700)
These newer PM macros allow the compiler to see what code it can remove
if !CONFIG_PM_SLEEP. This allows the removal of messy #ifdef barriers whilst
achieving the same result.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20220925172759.3573439-6-jic23@kernel.org
[groeck: Drop #ifdef from struct gpio_fan_data]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/gpio-fan.c

index fbf3f5a4ecb67de6602b67568887175741da1012..ba408942dbe73bfa1fefa3f1bb1863c4dac8e2db 100644 (file)
@@ -37,9 +37,7 @@ struct gpio_fan_data {
        int                     num_speed;
        struct gpio_fan_speed   *speed;
        int                     speed_index;
-#ifdef CONFIG_PM_SLEEP
        int                     resume_speed;
-#endif
        bool                    pwm_enable;
        struct gpio_desc        *alarm_gpio;
        struct work_struct      alarm_work;
@@ -557,7 +555,6 @@ static void gpio_fan_shutdown(struct platform_device *pdev)
                set_fan_speed(fan_data, 0);
 }
 
-#ifdef CONFIG_PM_SLEEP
 static int gpio_fan_suspend(struct device *dev)
 {
        struct gpio_fan_data *fan_data = dev_get_drvdata(dev);
@@ -580,18 +577,14 @@ static int gpio_fan_resume(struct device *dev)
        return 0;
 }
 
-static SIMPLE_DEV_PM_OPS(gpio_fan_pm, gpio_fan_suspend, gpio_fan_resume);
-#define GPIO_FAN_PM    (&gpio_fan_pm)
-#else
-#define GPIO_FAN_PM    NULL
-#endif
+static DEFINE_SIMPLE_DEV_PM_OPS(gpio_fan_pm, gpio_fan_suspend, gpio_fan_resume);
 
 static struct platform_driver gpio_fan_driver = {
        .probe          = gpio_fan_probe,
        .shutdown       = gpio_fan_shutdown,
        .driver = {
                .name   = "gpio-fan",
-               .pm     = GPIO_FAN_PM,
+               .pm     = pm_sleep_ptr(&gpio_fan_pm),
                .of_match_table = of_match_ptr(of_gpio_fan_match),
        },
 };