diff options
Diffstat (limited to 'drivers/hwmon/pwm-fan.c')
| -rw-r--r-- | drivers/hwmon/pwm-fan.c | 10 | 
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/hwmon/pwm-fan.c b/drivers/hwmon/pwm-fan.c index 83a347ca35da..6e4516c2ab89 100644 --- a/drivers/hwmon/pwm-fan.c +++ b/drivers/hwmon/pwm-fan.c @@ -427,7 +427,7 @@ static int pwm_fan_of_get_cooling_data(struct device *dev,  	struct device_node *np = dev->of_node;  	int num, i, ret; -	if (!of_find_property(np, "cooling-levels", NULL)) +	if (!of_property_present(np, "cooling-levels"))  		return 0;  	ret = of_property_count_u32_elems(np, "cooling-levels"); @@ -508,6 +508,14 @@ static int pwm_fan_probe(struct platform_device *pdev)  	pwm_init_state(ctx->pwm, &ctx->pwm_state);  	/* +	 * PWM fans are controlled solely by the duty cycle of the PWM signal, +	 * they do not care about the exact timing. Thus set usage_power to true +	 * to allow less flexible hardware to work as a PWM source for fan +	 * control. +	 */ +	ctx->pwm_state.usage_power = true; + +	/*  	 * set_pwm assumes that MAX_PWM * (period - 1) fits into an unsigned  	 * long. Check this here to prevent the fan running at a too low  	 * frequency.  |