dt-bindings: hwmon: pwm-fan: Document default-pwm property
Subsystems (2)
PATCH v2 1/2 dt-bindings: hwmon: pwm-fan: Document default-pwm property
Similar to target-rpm from fan-common.yaml but for the default PWM setting (0..255).
---
Changes since v1:
- Rename to default-pwm
Documentation/devicetree/bindings/hwmon/pwm-fan.yaml | 8 ++++++++ 1 file changed, 8 insertions(+)
Documentation/devicetree/bindings/hwmon/pwm-fan.yaml +8 -0
@@ -46,6 +46,14 @@ properties: "#cooling-cells": true + default-pwm: + description: + The default fan PWM to use. + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 0 + maximum: 255 + default: 255 + required: - compatible - pwms
Signature · 1 line
2.39.2
PATCH v2 2/2 hwmon: (pwm-fan): support default-pwm property to set default PWM value
For some use cases defaulting the PWM to full fan speed is not ideal (noise, power consumption, ..), so support an optional default-pwm property (0..255) to override the default PWM value.
---
Changes since v1:
- Rename property to default-pwm
- Drop u32 cast
drivers/hwmon/pwm-fan.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
drivers/hwmon/pwm-fan.c +9 -2
@@ -482,6 +482,7 @@ static int pwm_fan_probe(struct platform_device *pdev)const struct hwmon_channel_info **channels;u32 *fan_channel_config;int channel_count =1 ;/* We always have a PWM channel. */ +u32 default_pwm =MAX_PWM ;int i; ctx =devm_kzalloc (dev,sizeof (*ctx),GFP_KERNEL );
@@ -527,11 +528,17 @@ static int pwm_fan_probe(struct platform_device *pdev) ctx->enable_mode = pwm_disable_reg_enable; +of_property_read_u32 (dev->of_node,"default-pwm" , &default_pwm); +if (default_pwm >MAX_PWM ) { +dev_err (dev,"Invalid default-pwm: %u > %d\n" , default_pwm,MAX_PWM ); +return -EINVAL ; + } +/* -* Set duty cycle to maximum allowed and enable PWM output as well as +* Set duty cycle to default and enable PWM output as well as * the regulator. In case of error nothing is changed */ - ret =set_pwm (ctx,MAX_PWM ); + ret =set_pwm (ctx, default_pwm);if (ret) {dev_err (dev,"Failed to configure PWM: %d\n" , ret);return ret;
Signature · 1 line
2.39.2
Rob Herring
maintainerQuoted 16 lines · Peter Korsgaard
Similar to target-rpm from
fan-common.yamlbut for the default PWM setting (0..255).Signed-off-by Peter Korsgaard <[email protected]>---
Changes since v1:
- Rename to default-pwmDocumentation/devicetree/bindings/hwmon/pwm-fan.yaml | 8 ++++++++ 1 file changed, 8 insertions(+)Documentation/devicetree/bindings/hwmon/pwm-fan.yaml +0
-0
Documentation/devicetree/bindings/hwmon/pwm-fan.yaml properties: · line 55
Quoted 10 lines
Documentation/devicetree/bindings/hwmon/pwm-fan.yaml +7
-0@@ -46,6 +46,14 @@ properties: "#cooling-cells": true + default-pwm: + description: + The default fan PWM to use. + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 0 + maximum: 255 + default: 255
See my comments on v1. Please give time for other reviewers a chance to comment.
Rob
Quoted 20 lines · Rob Herring
Quoted 19 lines · Peter Korsgaard
Similar to target-rpm from
fan-common.yamlbut for the default PWM setting (0..255).Signed-off-by Peter Korsgaard <[email protected]>---
Changes since v1:
- Rename to default-pwmDocumentation/devicetree/bindings/hwmon/pwm-fan.yaml | 8 ++++++++ 1 file changed, 8 insertions(+)Documentation/devicetree/bindings/hwmon/pwm-fan.yaml +0
-0@@ -46,6 +46,14 @@ properties: "#cooling-cells": true
Quoted 10 lines
Documentation/devicetree/bindings/hwmon/pwm-fan.yaml properties: · line 55
Quoted 7 lines
Documentation/devicetree/bindings/hwmon/pwm-fan.yaml +7
-0+ default-pwm: + description: + The default fan PWM to use. + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 0 + maximum: 255 + default: 255See my comments on v1. Please give time for other reviewers a chance to comment.
Sorry. As far as I can see, Guenter explained why we cannot generically translate between a default PWM value and RPM.
Do you still want to move this default-pwm property to fan-common.yaml? If so, I can send a v3 doing that.
Signature · 1 line
Bye, Peter Korsgaard