thermal/hwmon: Use the right device for devm_thermal_add_hwmon_sysfs()
authorDaniel Lezcano <daniel.lezcano@linaro.org>
Wed, 1 Mar 2023 20:14:36 +0000 (21:14 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 3 Mar 2023 19:45:02 +0000 (20:45 +0100)
The devres variant of thermal_add_hwmon_sysfs() only takes the thermal
zone structure pointer as parameter.

Actually, it uses the tz->device to add it in the devres list.

It is preferable to use the device registering the thermal zone
instead of the thermal zone device itself. That prevents the driver
accessing the thermal zone structure internals and it is from my POV
more correct regarding how devm_ is used.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> #amlogic_thermal
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com> #sun8i_thermal
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> #MediaTek auxadc
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
14 files changed:
drivers/thermal/amlogic_thermal.c
drivers/thermal/imx8mm_thermal.c
drivers/thermal/imx_sc_thermal.c
drivers/thermal/k3_bandgap.c
drivers/thermal/mediatek/auxadc_thermal.c
drivers/thermal/qcom/qcom-spmi-adc-tm5.c
drivers/thermal/qcom/qcom-spmi-temp-alarm.c
drivers/thermal/qcom/tsens.c
drivers/thermal/qoriq_thermal.c
drivers/thermal/sun8i_thermal.c
drivers/thermal/tegra/tegra30-tsensor.c
drivers/thermal/thermal_hwmon.c
drivers/thermal/thermal_hwmon.h
drivers/thermal/ti-soc-thermal/ti-thermal-common.c

index dfcc93e45cdde0009687ae903039dcfb46c7a0a1..4bf36386462f4e5e94c9aea5852b5f4cb1f98f95 100644 (file)
@@ -285,7 +285,7 @@ static int amlogic_thermal_probe(struct platform_device *pdev)
                return ret;
        }
 
-       if (devm_thermal_add_hwmon_sysfs(pdata->tzd))
+       if (devm_thermal_add_hwmon_sysfs(&pdev->dev, pdata->tzd))
                dev_warn(&pdev->dev, "Failed to add hwmon sysfs attributes\n");
 
        ret = amlogic_thermal_initialize(pdata);
index efa1a4ffc368ae96a56a5955e3b4f61e2030c407..e0de6ac4946994b824754324d0b5a0b976f1043d 100644 (file)
@@ -343,7 +343,7 @@ static int imx8mm_tmu_probe(struct platform_device *pdev)
                }
                tmu->sensors[i].hw_id = i;
 
-               if (devm_thermal_add_hwmon_sysfs(tmu->sensors[i].tzd))
+               if (devm_thermal_add_hwmon_sysfs(&pdev->dev, tmu->sensors[i].tzd))
                        dev_warn(&pdev->dev, "failed to add hwmon sysfs attributes\n");
        }
 
index 2d7a6bd2846beb1f46e52d8c1601322a6c4ef44b..839bb9958f60daf08c95b6fc60e4cf46a021aa2d 100644 (file)
@@ -116,7 +116,7 @@ static int imx_sc_thermal_probe(struct platform_device *pdev)
                        return ret;
                }
 
-               if (devm_thermal_add_hwmon_sysfs(sensor->tzd))
+               if (devm_thermal_add_hwmon_sysfs(&pdev->dev, sensor->tzd))
                        dev_warn(&pdev->dev, "failed to add hwmon sysfs attributes\n");
        }
 
index b5cd2c85e0c391fed09c66043ecb23e61768ca60..791210458606266a1ed3f37b47f067eb7e63154f 100644 (file)
@@ -222,7 +222,7 @@ static int k3_bandgap_probe(struct platform_device *pdev)
                        goto err_alloc;
                }
 
-               if (devm_thermal_add_hwmon_sysfs(data[id].tzd))
+               if (devm_thermal_add_hwmon_sysfs(dev, data[id].tzd))
                        dev_warn(dev, "Failed to add hwmon sysfs attributes\n");
        }
 
index 755baa4e5bd231791f5cc4857921c1166f83ae77..7b146350050d680d7b76f3e2c1b6b8647f40a1e6 100644 (file)
@@ -1210,7 +1210,7 @@ static int mtk_thermal_probe(struct platform_device *pdev)
                goto err_disable_clk_peri_therm;
        }
 
-       ret = devm_thermal_add_hwmon_sysfs(tzdev);
+       ret = devm_thermal_add_hwmon_sysfs(&pdev->dev, tzdev);
        if (ret)
                dev_warn(&pdev->dev, "error in thermal_add_hwmon_sysfs");
 
index ed204489a9506890dfafb291406c60f410365ccf..5749149ae2e4e066ae97a65f9f378a712eadcc8f 100644 (file)
@@ -689,7 +689,7 @@ static int adc_tm5_register_tzd(struct adc_tm5_chip *adc_tm)
                        return PTR_ERR(tzd);
                }
                adc_tm->channels[i].tzd = tzd;
-               if (devm_thermal_add_hwmon_sysfs(tzd))
+               if (devm_thermal_add_hwmon_sysfs(adc_tm->dev, tzd))
                        dev_warn(adc_tm->dev,
                                 "Failed to add hwmon sysfs attributes\n");
        }
index b196d8d0172627425e49bfc98eb3ecaa53d86b02..0f88e98428acfbc77b8b496d6adc894e1c05811a 100644 (file)
@@ -459,7 +459,7 @@ static int qpnp_tm_probe(struct platform_device *pdev)
                return ret;
        }
 
-       if (devm_thermal_add_hwmon_sysfs(chip->tz_dev))
+       if (devm_thermal_add_hwmon_sysfs(&pdev->dev, chip->tz_dev))
                dev_warn(&pdev->dev,
                         "Failed to add hwmon sysfs attributes\n");
 
index 6cc935379f00044b8edaeb71bf037dcc5f926ee5..d3218127e617dfd374de9efa5ed541a7e1a2f679 100644 (file)
@@ -1189,7 +1189,7 @@ static int tsens_register(struct tsens_priv *priv)
                if (priv->ops->enable)
                        priv->ops->enable(priv, i);
 
-               if (devm_thermal_add_hwmon_sysfs(tzd))
+               if (devm_thermal_add_hwmon_sysfs(priv->dev, tzd))
                        dev_warn(priv->dev,
                                 "Failed to add hwmon sysfs attributes\n");
        }
index d2dc99247f6179a50b5eefb16a2f648a086080c8..e58756323457e17651464722ae82a11b2e3822f0 100644 (file)
@@ -157,7 +157,7 @@ static int qoriq_tmu_register_tmu_zone(struct device *dev,
                        return ret;
                }
 
-               if (devm_thermal_add_hwmon_sysfs(tzd))
+               if (devm_thermal_add_hwmon_sysfs(dev, tzd))
                        dev_warn(dev,
                                 "Failed to add hwmon sysfs attributes\n");
 
index 6b550f0f90bf96214db9c8d0dd70701f60a301ef..793ddce72132fc06e213bc641fdc3ec19b845d4c 100644 (file)
@@ -475,7 +475,7 @@ static int sun8i_ths_register(struct ths_device *tmdev)
                if (IS_ERR(tmdev->sensor[i].tzd))
                        return PTR_ERR(tmdev->sensor[i].tzd);
 
-               if (devm_thermal_add_hwmon_sysfs(tmdev->sensor[i].tzd))
+               if (devm_thermal_add_hwmon_sysfs(tmdev->dev, tmdev->sensor[i].tzd))
                        dev_warn(tmdev->dev,
                                 "Failed to add hwmon sysfs attributes\n");
        }
index 42c6fb494dd993c1ae66663d34d1c760bfda65c7..4b2ea17910cde4f1dea9884b896f572e7fb462c5 100644 (file)
@@ -528,7 +528,7 @@ static int tegra_tsensor_register_channel(struct tegra_tsensor *ts,
                return 0;
        }
 
-       if (devm_thermal_add_hwmon_sysfs(tsc->tzd))
+       if (devm_thermal_add_hwmon_sysfs(ts->dev, tsc->tzd))
                dev_warn(ts->dev, "failed to add hwmon sysfs attributes\n");
 
        return 0;
index c594c42bea6da21953997473400db879b23419b5..964db7941e31068875a8bae525fabea35d58291b 100644 (file)
@@ -263,7 +263,7 @@ static void devm_thermal_hwmon_release(struct device *dev, void *res)
        thermal_remove_hwmon_sysfs(*(struct thermal_zone_device **)res);
 }
 
-int devm_thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
+int devm_thermal_add_hwmon_sysfs(struct device *dev, struct thermal_zone_device *tz)
 {
        struct thermal_zone_device **ptr;
        int ret;
@@ -280,7 +280,7 @@ int devm_thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
        }
 
        *ptr = tz;
-       devres_add(&tz->device, ptr);
+       devres_add(dev, ptr);
 
        return ret;
 }
index 1a9d65f6a6a8b1bdb15a6a9e19880cbc099417ed..b429f6e7abdb27bb70966014b0f5d1d35b32d252 100644 (file)
@@ -17,7 +17,7 @@
 
 #ifdef CONFIG_THERMAL_HWMON
 int thermal_add_hwmon_sysfs(struct thermal_zone_device *tz);
-int devm_thermal_add_hwmon_sysfs(struct thermal_zone_device *tz);
+int devm_thermal_add_hwmon_sysfs(struct device *dev, struct thermal_zone_device *tz);
 void thermal_remove_hwmon_sysfs(struct thermal_zone_device *tz);
 #else
 static inline int
@@ -27,7 +27,7 @@ thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
 }
 
 static inline int
-devm_thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
+devm_thermal_add_hwmon_sysfs(struct device *dev, struct thermal_zone_device *tz)
 {
        return 0;
 }
index 3e998c9799bb8f8816b9547f2021eb0e1316aac7..216b29068b08ea51b4ccdb00af55b1c0eb3d5e92 100644 (file)
@@ -182,7 +182,7 @@ int ti_thermal_expose_sensor(struct ti_bandgap *bgp, int id,
        ti_bandgap_set_sensor_data(bgp, id, data);
        ti_bandgap_write_update_interval(bgp, data->sensor_id, interval);
 
-       if (devm_thermal_add_hwmon_sysfs(data->ti_thermal))
+       if (devm_thermal_add_hwmon_sysfs(bgp->dev, data->ti_thermal))
                dev_warn(bgp->dev, "failed to add hwmon sysfs attributes\n");
 
        return 0;