On Tue, Jan 21, 2020 at 12:32:24AM +0900, Akinobu Mita wrote: > The pwm-fan driver stops the fan in suspend but leaves the fan on in > shutdown. It seems strange to leave the fan on in shutdown because there > is no use case in my mind and the gpio-fan driver on the other hand stops > in shutdown. > > This change turns off the fan in shutdown. If anyone complains then we'll > add an optional property to switch the behavior. > > Cc: Rob Herring <robh+dt@xxxxxxxxxx> > Cc: Mark Rutland <mark.rutland@xxxxxxx> > Cc: Kamil Debski <kamil@xxxxxxxxx> > Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> > Cc: Guenter Roeck <linux@xxxxxxxxxxxx> > Cc: Thierry Reding <thierry.reding@xxxxxxxxx> > Cc: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> > Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Applied. Thanks, Guenter > --- > * v2 > - remove optional property and just turn off the fan in shutdown > > drivers/hwmon/pwm-fan.c | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) > > diff --git a/drivers/hwmon/pwm-fan.c b/drivers/hwmon/pwm-fan.c > index 42ffd2e..30b7b3e 100644 > --- a/drivers/hwmon/pwm-fan.c > +++ b/drivers/hwmon/pwm-fan.c > @@ -390,8 +390,7 @@ static int pwm_fan_probe(struct platform_device *pdev) > return 0; > } > > -#ifdef CONFIG_PM_SLEEP > -static int pwm_fan_suspend(struct device *dev) > +static int pwm_fan_disable(struct device *dev) > { > struct pwm_fan_ctx *ctx = dev_get_drvdata(dev); > struct pwm_args args; > @@ -418,6 +417,17 @@ static int pwm_fan_suspend(struct device *dev) > return 0; > } > > +static void pwm_fan_shutdown(struct platform_device *pdev) > +{ > + pwm_fan_disable(&pdev->dev); > +} > + > +#ifdef CONFIG_PM_SLEEP > +static int pwm_fan_suspend(struct device *dev) > +{ > + return pwm_fan_disable(dev); > +} > + > static int pwm_fan_resume(struct device *dev) > { > struct pwm_fan_ctx *ctx = dev_get_drvdata(dev); > @@ -455,6 +465,7 @@ MODULE_DEVICE_TABLE(of, of_pwm_fan_match); > > static struct platform_driver pwm_fan_driver = { > .probe = pwm_fan_probe, > + .shutdown = pwm_fan_shutdown, > .driver = { > .name = "pwm-fan", > .pm = &pwm_fan_pm,