2023-03-10 15:00:53

by Rob Herring (Arm)

[permalink] [raw]
Subject: [PATCH] thermal: Use of_property_present() for testing DT property presence

It is preferred to use typed property access functions (i.e.
of_property_read_<type> functions) rather than low-level
of_get_property/of_find_property functions for reading properties. As
part of this, convert of_get_property/of_find_property calls to the
recently added of_property_present() helper when we just want to test
for presence of a property and nothing more.

Signed-off-by: Rob Herring <[email protected]>
---
drivers/thermal/cpufreq_cooling.c | 2 +-
drivers/thermal/imx8mm_thermal.c | 2 +-
drivers/thermal/imx_thermal.c | 4 ++--
drivers/thermal/ti-soc-thermal/ti-thermal-common.c | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/thermal/cpufreq_cooling.c b/drivers/thermal/cpufreq_cooling.c
index 9f8b438fcf8f..4608555b7ec3 100644
--- a/drivers/thermal/cpufreq_cooling.c
+++ b/drivers/thermal/cpufreq_cooling.c
@@ -633,7 +633,7 @@ of_cpufreq_cooling_register(struct cpufreq_policy *policy)
return NULL;
}

- if (of_find_property(np, "#cooling-cells", NULL)) {
+ if (of_property_present(np, "#cooling-cells")) {
struct em_perf_domain *em = em_cpu_get(policy->cpu);

cdev = __cpufreq_cooling_register(np, policy, em);
diff --git a/drivers/thermal/imx8mm_thermal.c b/drivers/thermal/imx8mm_thermal.c
index 72b5d6f319c1..334ce8e9830b 100644
--- a/drivers/thermal/imx8mm_thermal.c
+++ b/drivers/thermal/imx8mm_thermal.c
@@ -282,7 +282,7 @@ static int imx8mm_tmu_probe_set_calib(struct platform_device *pdev,
* strongly recommended to update such old DTs to get correct
* temperature compensation values for each SoC.
*/
- if (!of_find_property(pdev->dev.of_node, "nvmem-cells", NULL)) {
+ if (!of_property_present(pdev->dev.of_node, "nvmem-cells")) {
dev_warn(dev,
"No OCOTP nvmem reference found, SoC-specific calibration not loaded. Please update your DT.\n");
return 0;
diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c
index fb0d5cab70af..77d6567a3f47 100644
--- a/drivers/thermal/imx_thermal.c
+++ b/drivers/thermal/imx_thermal.c
@@ -594,7 +594,7 @@ static int imx_thermal_register_legacy_cooling(struct imx_thermal_data *data)

np = of_get_cpu_node(data->policy->cpu, NULL);

- if (!np || !of_find_property(np, "#cooling-cells", NULL)) {
+ if (!np || !of_property_present(np, "#cooling-cells")) {
data->cdev = cpufreq_cooling_register(data->policy);
if (IS_ERR(data->cdev)) {
ret = PTR_ERR(data->cdev);
@@ -671,7 +671,7 @@ static int imx_thermal_probe(struct platform_device *pdev)

platform_set_drvdata(pdev, data);

- if (of_find_property(pdev->dev.of_node, "nvmem-cells", NULL)) {
+ if (of_property_present(pdev->dev.of_node, "nvmem-cells")) {
ret = imx_init_from_nvmem_cells(pdev);
if (ret)
return dev_err_probe(&pdev->dev, ret,
diff --git a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
index 8a9055bd376e..dace6591220e 100644
--- a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
+++ b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
@@ -223,7 +223,7 @@ int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id)
* using DT, then it must be aware that the cooling device
* loading has to happen via cpufreq driver.
*/
- if (of_find_property(np, "#thermal-sensor-cells", NULL))
+ if (of_property_present(np, "#thermal-sensor-cells"))
return 0;

data = ti_bandgap_get_sensor_data(bgp, id);
--
2.39.2



2023-03-13 04:29:25

by Viresh Kumar

[permalink] [raw]
Subject: Re: [PATCH] thermal: Use of_property_present() for testing DT property presence

On 10-03-23, 08:47, Rob Herring wrote:
> It is preferred to use typed property access functions (i.e.
> of_property_read_<type> functions) rather than low-level
> of_get_property/of_find_property functions for reading properties. As
> part of this, convert of_get_property/of_find_property calls to the
> recently added of_property_present() helper when we just want to test
> for presence of a property and nothing more.
>
> Signed-off-by: Rob Herring <[email protected]>
> ---
> drivers/thermal/cpufreq_cooling.c | 2 +-
> drivers/thermal/imx8mm_thermal.c | 2 +-
> drivers/thermal/imx_thermal.c | 4 ++--
> drivers/thermal/ti-soc-thermal/ti-thermal-common.c | 2 +-
> 4 files changed, 5 insertions(+), 5 deletions(-)

Acked-by: Viresh Kumar <[email protected]>

--
viresh

2023-03-27 17:26:01

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] thermal: Use of_property_present() for testing DT property presence

On Fri, Mar 10, 2023 at 3:48 PM Rob Herring <[email protected]> wrote:
>
> It is preferred to use typed property access functions (i.e.
> of_property_read_<type> functions) rather than low-level
> of_get_property/of_find_property functions for reading properties. As
> part of this, convert of_get_property/of_find_property calls to the
> recently added of_property_present() helper when we just want to test
> for presence of a property and nothing more.
>
> Signed-off-by: Rob Herring <[email protected]>

Daniel, are you going to apply this, or should I take it directly?

> ---
> drivers/thermal/cpufreq_cooling.c | 2 +-
> drivers/thermal/imx8mm_thermal.c | 2 +-
> drivers/thermal/imx_thermal.c | 4 ++--
> drivers/thermal/ti-soc-thermal/ti-thermal-common.c | 2 +-
> 4 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/thermal/cpufreq_cooling.c b/drivers/thermal/cpufreq_cooling.c
> index 9f8b438fcf8f..4608555b7ec3 100644
> --- a/drivers/thermal/cpufreq_cooling.c
> +++ b/drivers/thermal/cpufreq_cooling.c
> @@ -633,7 +633,7 @@ of_cpufreq_cooling_register(struct cpufreq_policy *policy)
> return NULL;
> }
>
> - if (of_find_property(np, "#cooling-cells", NULL)) {
> + if (of_property_present(np, "#cooling-cells")) {
> struct em_perf_domain *em = em_cpu_get(policy->cpu);
>
> cdev = __cpufreq_cooling_register(np, policy, em);
> diff --git a/drivers/thermal/imx8mm_thermal.c b/drivers/thermal/imx8mm_thermal.c
> index 72b5d6f319c1..334ce8e9830b 100644
> --- a/drivers/thermal/imx8mm_thermal.c
> +++ b/drivers/thermal/imx8mm_thermal.c
> @@ -282,7 +282,7 @@ static int imx8mm_tmu_probe_set_calib(struct platform_device *pdev,
> * strongly recommended to update such old DTs to get correct
> * temperature compensation values for each SoC.
> */
> - if (!of_find_property(pdev->dev.of_node, "nvmem-cells", NULL)) {
> + if (!of_property_present(pdev->dev.of_node, "nvmem-cells")) {
> dev_warn(dev,
> "No OCOTP nvmem reference found, SoC-specific calibration not loaded. Please update your DT.\n");
> return 0;
> diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c
> index fb0d5cab70af..77d6567a3f47 100644
> --- a/drivers/thermal/imx_thermal.c
> +++ b/drivers/thermal/imx_thermal.c
> @@ -594,7 +594,7 @@ static int imx_thermal_register_legacy_cooling(struct imx_thermal_data *data)
>
> np = of_get_cpu_node(data->policy->cpu, NULL);
>
> - if (!np || !of_find_property(np, "#cooling-cells", NULL)) {
> + if (!np || !of_property_present(np, "#cooling-cells")) {
> data->cdev = cpufreq_cooling_register(data->policy);
> if (IS_ERR(data->cdev)) {
> ret = PTR_ERR(data->cdev);
> @@ -671,7 +671,7 @@ static int imx_thermal_probe(struct platform_device *pdev)
>
> platform_set_drvdata(pdev, data);
>
> - if (of_find_property(pdev->dev.of_node, "nvmem-cells", NULL)) {
> + if (of_property_present(pdev->dev.of_node, "nvmem-cells")) {
> ret = imx_init_from_nvmem_cells(pdev);
> if (ret)
> return dev_err_probe(&pdev->dev, ret,
> diff --git a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
> index 8a9055bd376e..dace6591220e 100644
> --- a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
> +++ b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
> @@ -223,7 +223,7 @@ int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id)
> * using DT, then it must be aware that the cooling device
> * loading has to happen via cpufreq driver.
> */
> - if (of_find_property(np, "#thermal-sensor-cells", NULL))
> + if (of_property_present(np, "#thermal-sensor-cells"))
> return 0;
>
> data = ti_bandgap_get_sensor_data(bgp, id);
> --
> 2.39.2
>

2023-03-30 17:32:03

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] thermal: Use of_property_present() for testing DT property presence

On Mon, Mar 27, 2023 at 7:13 PM Rafael J. Wysocki <[email protected]> wrote:
>
> On Fri, Mar 10, 2023 at 3:48 PM Rob Herring <[email protected]> wrote:
> >
> > It is preferred to use typed property access functions (i.e.
> > of_property_read_<type> functions) rather than low-level
> > of_get_property/of_find_property functions for reading properties. As
> > part of this, convert of_get_property/of_find_property calls to the
> > recently added of_property_present() helper when we just want to test
> > for presence of a property and nothing more.
> >
> > Signed-off-by: Rob Herring <[email protected]>
>
> Daniel, are you going to apply this, or should I take it directly?

Applied as 6.4 material, thanks!

> > ---
> > drivers/thermal/cpufreq_cooling.c | 2 +-
> > drivers/thermal/imx8mm_thermal.c | 2 +-
> > drivers/thermal/imx_thermal.c | 4 ++--
> > drivers/thermal/ti-soc-thermal/ti-thermal-common.c | 2 +-
> > 4 files changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/thermal/cpufreq_cooling.c b/drivers/thermal/cpufreq_cooling.c
> > index 9f8b438fcf8f..4608555b7ec3 100644
> > --- a/drivers/thermal/cpufreq_cooling.c
> > +++ b/drivers/thermal/cpufreq_cooling.c
> > @@ -633,7 +633,7 @@ of_cpufreq_cooling_register(struct cpufreq_policy *policy)
> > return NULL;
> > }
> >
> > - if (of_find_property(np, "#cooling-cells", NULL)) {
> > + if (of_property_present(np, "#cooling-cells")) {
> > struct em_perf_domain *em = em_cpu_get(policy->cpu);
> >
> > cdev = __cpufreq_cooling_register(np, policy, em);
> > diff --git a/drivers/thermal/imx8mm_thermal.c b/drivers/thermal/imx8mm_thermal.c
> > index 72b5d6f319c1..334ce8e9830b 100644
> > --- a/drivers/thermal/imx8mm_thermal.c
> > +++ b/drivers/thermal/imx8mm_thermal.c
> > @@ -282,7 +282,7 @@ static int imx8mm_tmu_probe_set_calib(struct platform_device *pdev,
> > * strongly recommended to update such old DTs to get correct
> > * temperature compensation values for each SoC.
> > */
> > - if (!of_find_property(pdev->dev.of_node, "nvmem-cells", NULL)) {
> > + if (!of_property_present(pdev->dev.of_node, "nvmem-cells")) {
> > dev_warn(dev,
> > "No OCOTP nvmem reference found, SoC-specific calibration not loaded. Please update your DT.\n");
> > return 0;
> > diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c
> > index fb0d5cab70af..77d6567a3f47 100644
> > --- a/drivers/thermal/imx_thermal.c
> > +++ b/drivers/thermal/imx_thermal.c
> > @@ -594,7 +594,7 @@ static int imx_thermal_register_legacy_cooling(struct imx_thermal_data *data)
> >
> > np = of_get_cpu_node(data->policy->cpu, NULL);
> >
> > - if (!np || !of_find_property(np, "#cooling-cells", NULL)) {
> > + if (!np || !of_property_present(np, "#cooling-cells")) {
> > data->cdev = cpufreq_cooling_register(data->policy);
> > if (IS_ERR(data->cdev)) {
> > ret = PTR_ERR(data->cdev);
> > @@ -671,7 +671,7 @@ static int imx_thermal_probe(struct platform_device *pdev)
> >
> > platform_set_drvdata(pdev, data);
> >
> > - if (of_find_property(pdev->dev.of_node, "nvmem-cells", NULL)) {
> > + if (of_property_present(pdev->dev.of_node, "nvmem-cells")) {
> > ret = imx_init_from_nvmem_cells(pdev);
> > if (ret)
> > return dev_err_probe(&pdev->dev, ret,
> > diff --git a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
> > index 8a9055bd376e..dace6591220e 100644
> > --- a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
> > +++ b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
> > @@ -223,7 +223,7 @@ int ti_thermal_register_cpu_cooling(struct ti_bandgap *bgp, int id)
> > * using DT, then it must be aware that the cooling device
> > * loading has to happen via cpufreq driver.
> > */
> > - if (of_find_property(np, "#thermal-sensor-cells", NULL))
> > + if (of_property_present(np, "#thermal-sensor-cells"))
> > return 0;
> >
> > data = ti_bandgap_get_sensor_data(bgp, id);
> > --
> > 2.39.2
> >

2023-03-31 08:58:02

by Daniel Lezcano

[permalink] [raw]
Subject: Re: [PATCH] thermal: Use of_property_present() for testing DT property presence

On 30/03/2023 19:28, Rafael J. Wysocki wrote:
> On Mon, Mar 27, 2023 at 7:13 PM Rafael J. Wysocki <[email protected]> wrote:
>>
>> On Fri, Mar 10, 2023 at 3:48 PM Rob Herring <[email protected]> wrote:
>>>
>>> It is preferred to use typed property access functions (i.e.
>>> of_property_read_<type> functions) rather than low-level
>>> of_get_property/of_find_property functions for reading properties. As
>>> part of this, convert of_get_property/of_find_property calls to the
>>> recently added of_property_present() helper when we just want to test
>>> for presence of a property and nothing more.
>>>
>>> Signed-off-by: Rob Herring <[email protected]>
>>
>> Daniel, are you going to apply this, or should I take it directly?
>
> Applied as 6.4 material, thanks

Sorry, I forgot to answer. I already applied it.

Shall I drop it from my branch ?

--
<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

2023-03-31 09:07:25

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] thermal: Use of_property_present() for testing DT property presence

On Fri, Mar 31, 2023 at 10:44 AM Daniel Lezcano
<[email protected]> wrote:
>
> On 30/03/2023 19:28, Rafael J. Wysocki wrote:
> > On Mon, Mar 27, 2023 at 7:13 PM Rafael J. Wysocki <[email protected]> wrote:
> >>
> >> On Fri, Mar 10, 2023 at 3:48 PM Rob Herring <[email protected]> wrote:
> >>>
> >>> It is preferred to use typed property access functions (i.e.
> >>> of_property_read_<type> functions) rather than low-level
> >>> of_get_property/of_find_property functions for reading properties. As
> >>> part of this, convert of_get_property/of_find_property calls to the
> >>> recently added of_property_present() helper when we just want to test
> >>> for presence of a property and nothing more.
> >>>
> >>> Signed-off-by: Rob Herring <[email protected]>
> >>
> >> Daniel, are you going to apply this, or should I take it directly?
> >
> > Applied as 6.4 material, thanks
>
> Sorry, I forgot to answer. I already applied it.
>
> Shall I drop it from my branch ?

If you can do that, then yes, please.