On 4/10/20 3:12 PM, Daniel Lezcano wrote: > The function thermal_cdev_upadte is called from the throttling misspelled > functions in the governors not from the cooling device itself. > > The cooling device is set to its maximum state and then updated. Even > if I don't get the purpose of probing the pwm-fan to its maximum > cooling state, we can replace the thermal_cdev_update() call to the > internal set_cur_state() function directly. > > Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> > --- > drivers/hwmon/pwm-fan.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/hwmon/pwm-fan.c b/drivers/hwmon/pwm-fan.c > index 30b7b3ea8836..a654ecdf21ab 100644 > --- a/drivers/hwmon/pwm-fan.c > +++ b/drivers/hwmon/pwm-fan.c > @@ -372,7 +372,6 @@ static int pwm_fan_probe(struct platform_device *pdev) > if (ret) > return ret; > > - ctx->pwm_fan_state = ctx->pwm_fan_max_state; > if (IS_ENABLED(CONFIG_THERMAL)) { > cdev = devm_thermal_of_cooling_device_register(dev, > dev->of_node, "pwm-fan", ctx, &pwm_fan_cooling_ops); > @@ -384,7 +383,7 @@ static int pwm_fan_probe(struct platform_device *pdev) > return ret; > } > ctx->cdev = cdev; > - thermal_cdev_update(cdev); > + pwm_fan_set_cur_state(cdev, ctx->pwm_fan_max_state); So far the function would only change the state if the new state is not equal to the old state. This was the case because pwm_fan_state was set to pwm_fan_max_state, and the call to thermal_cdev_update() and thus pwm_fan_set_cur_state() would do nothing except update statistics. The old code _assumed_ that the current state is pwm_fan_max_state. The new code enforces it. That is a substantial semantic change, and it is not really reflected in the commit message. Is that really what you want ? If so, the commit message needs to state that and explain the rationale. Thanks, Guenter > } > > return 0; >