As it stands, setting 0 explicitly feels like spam inside the DTs.
This series simplifies it.
Signed-off-by: Konrad Dybcio <[email protected]>
---
Konrad Dybcio (2):
dt-bindings: thermal-zones: Don't require polling-delay(-passive)
thermal/of: Assume polling-delay(-passive) 0 when absent
Documentation/devicetree/bindings/thermal/thermal-zones.yaml | 2 --
drivers/thermal/thermal_of.c | 12 ++++++++----
2 files changed, 8 insertions(+), 6 deletions(-)
---
base-commit: 01af33cc9894b4489fb68fa35c40e9fe85df63dc
change-id: 20240125-topic-thermal-f954cf83fc50
Best regards,
--
Konrad Dybcio <[email protected]>
Currently, thermal zones associated with providers that have interrupts
for signaling hot/critical trips are required to set a polling-delay
of 0 to indicate no polling. This feels a bit backwards.
Assume 0 (no polling) when these properties are not defined.
Signed-off-by: Konrad Dybcio <[email protected]>
---
Documentation/devicetree/bindings/thermal/thermal-zones.yaml | 2 --
1 file changed, 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
index dbd52620d293..68398e7e8655 100644
--- a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
+++ b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
@@ -228,8 +228,6 @@ patternProperties:
additionalProperties: false
required:
- - polling-delay
- - polling-delay-passive
- thermal-sensors
- trips
--
2.40.1
Currently, thermal zones associated with providers that have interrupts
for signaling hot/critical trips are required to set a polling-delay
of 0 to indicate no polling. This feels a bit backwards.
Change the code such that "no polling delay" also means "no polling".
Suggested-by: Bjorn Andersson <[email protected]>
Signed-off-by: Konrad Dybcio <[email protected]>
---
drivers/thermal/thermal_of.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/thermal/thermal_of.c b/drivers/thermal/thermal_of.c
index 4d6c22e0ed85..61bbd42aa2cb 100644
--- a/drivers/thermal/thermal_of.c
+++ b/drivers/thermal/thermal_of.c
@@ -225,14 +225,18 @@ static int thermal_of_monitor_init(struct device_node *np, int *delay, int *pdel
int ret;
ret = of_property_read_u32(np, "polling-delay-passive", pdelay);
- if (ret < 0) {
- pr_err("%pOFn: missing polling-delay-passive property\n", np);
+ if (ret == -EINVAL) {
+ *pdelay = 0;
+ } else if (ret < 0) {
+ pr_err("%pOFn: Couldn't get polling-delay-passive: %d\n", np, ret);
return ret;
}
ret = of_property_read_u32(np, "polling-delay", delay);
- if (ret < 0) {
- pr_err("%pOFn: missing polling-delay property\n", np);
+ if (ret == -EINVAL) {
+ *delay = 0;
+ } else if (ret < 0) {
+ pr_err("%pOFn: Couldn't get polling-delay: %d\n", np, ret);
return ret;
}
--
2.40.1
On Thu, Jan 25, 2024 at 01:11:15PM +0100, Konrad Dybcio wrote:
> Currently, thermal zones associated with providers that have interrupts
> for signaling hot/critical trips are required to set a polling-delay
> of 0 to indicate no polling. This feels a bit backwards.
>
> Assume 0 (no polling) when these properties are not defined.
>
> Signed-off-by: Konrad Dybcio <[email protected]>
I think that makes sense.
Reviewed-by: Conor Dooley <[email protected]>
Cheers,
Conor.
> ---
> Documentation/devicetree/bindings/thermal/thermal-zones.yaml | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
> index dbd52620d293..68398e7e8655 100644
> --- a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
> +++ b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
> @@ -228,8 +228,6 @@ patternProperties:
> additionalProperties: false
>
> required:
> - - polling-delay
> - - polling-delay-passive
> - thermal-sensors
> - trips
>
>
> --
> 2.40.1
>
On Thu, Jan 25, 2024 at 01:11:16PM +0100, Konrad Dybcio wrote:
> Currently, thermal zones associated with providers that have interrupts
> for signaling hot/critical trips are required to set a polling-delay
> of 0 to indicate no polling. This feels a bit backwards.
>
> Change the code such that "no polling delay" also means "no polling".
>
> Suggested-by: Bjorn Andersson <[email protected]>
> Signed-off-by: Konrad Dybcio <[email protected]>
Reviewed-by: Bjorn Andersson <[email protected]>
Regards,
Bjorn
> ---
> drivers/thermal/thermal_of.c | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/thermal/thermal_of.c b/drivers/thermal/thermal_of.c
> index 4d6c22e0ed85..61bbd42aa2cb 100644
> --- a/drivers/thermal/thermal_of.c
> +++ b/drivers/thermal/thermal_of.c
> @@ -225,14 +225,18 @@ static int thermal_of_monitor_init(struct device_node *np, int *delay, int *pdel
> int ret;
>
> ret = of_property_read_u32(np, "polling-delay-passive", pdelay);
> - if (ret < 0) {
> - pr_err("%pOFn: missing polling-delay-passive property\n", np);
> + if (ret == -EINVAL) {
> + *pdelay = 0;
> + } else if (ret < 0) {
> + pr_err("%pOFn: Couldn't get polling-delay-passive: %d\n", np, ret);
> return ret;
> }
>
> ret = of_property_read_u32(np, "polling-delay", delay);
> - if (ret < 0) {
> - pr_err("%pOFn: missing polling-delay property\n", np);
> + if (ret == -EINVAL) {
> + *delay = 0;
> + } else if (ret < 0) {
> + pr_err("%pOFn: Couldn't get polling-delay: %d\n", np, ret);
> return ret;
> }
>
>
> --
> 2.40.1
>
On Thu, Jan 25, 2024 at 01:11:15PM +0100, Konrad Dybcio wrote:
> Currently, thermal zones associated with providers that have interrupts
> for signaling hot/critical trips are required to set a polling-delay
> of 0 to indicate no polling. This feels a bit backwards.
>
> Assume 0 (no polling) when these properties are not defined.
>
> Signed-off-by: Konrad Dybcio <[email protected]>
Reviewed-by: Bjorn Andersson <[email protected]>
> ---
> Documentation/devicetree/bindings/thermal/thermal-zones.yaml | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
> index dbd52620d293..68398e7e8655 100644
> --- a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
> +++ b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
> @@ -228,8 +228,6 @@ patternProperties:
> additionalProperties: false
>
> required:
> - - polling-delay
> - - polling-delay-passive
> - thermal-sensors
> - trips
>
>
> --
> 2.40.1
>
On 25/01/2024 14:11, Konrad Dybcio wrote:
> Currently, thermal zones associated with providers that have interrupts
> for signaling hot/critical trips are required to set a polling-delay
> of 0 to indicate no polling. This feels a bit backwards.
>
> Change the code such that "no polling delay" also means "no polling".
>
> Suggested-by: Bjorn Andersson <[email protected]>
> Signed-off-by: Konrad Dybcio <[email protected]>
> ---
> drivers/thermal/thermal_of.c | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
Reviewed-by: Dmitry Baryshkov <[email protected]>
--
With best wishes
Dmitry
On 25/01/2024 13:11, Konrad Dybcio wrote:
> As it stands, setting 0 explicitly feels like spam inside the DTs.
> This series simplifies it.
>
> Signed-off-by: Konrad Dybcio <[email protected]>
> ---
Applied, thanks
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog