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

From: Rafael J. Wysocki
Date: Thu Mar 30 2023 - 13:28:54 EST


On Mon, Mar 27, 2023 at 7:13 PM Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
>
> On Fri, Mar 10, 2023 at 3:48 PM Rob Herring <robh@xxxxxxxxxx> 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 <robh@xxxxxxxxxx>
>
> 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
> >