On Sun, 25 Sep 2022 11:49:54 -0700 Guenter Roeck <linux@xxxxxxxxxxxx> wrote: > On Sun, Sep 25, 2022 at 06:27:46PM +0100, Jonathan Cameron wrote: > > From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > > > > 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@xxxxxxxxxx> > > Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> > > This patch resulted in build errors. > > Building m68k:allmodconfig ... failed > -------------- > Error log: > drivers/hwmon/gpio-fan.c: In function 'gpio_fan_suspend': > drivers/hwmon/gpio-fan.c:565:27: error: 'struct gpio_fan_data' has no member named 'resume_speed' > > There was an #ifdef CONFIG_PM_SLEEP in struct gpio_fan_data which had > to be dropped. I took care of that. Thanks! I clearly missed some tests I should have done. Sorry about that. Jonathan > > Guenter > > > --- > > drivers/hwmon/gpio-fan.c | 9 ++------- > > 1 file changed, 2 insertions(+), 7 deletions(-) > > > > diff --git a/drivers/hwmon/gpio-fan.c b/drivers/hwmon/gpio-fan.c > > index fbf3f5a4ecb6..b05aedd20b4f 100644 > > --- a/drivers/hwmon/gpio-fan.c > > +++ b/drivers/hwmon/gpio-fan.c > > @@ -557,7 +557,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 +579,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), > > }, > > };