Re: [PATCH v5 26/33] hwmon/drivers/pm_bus: Switch to new of thermal API

Guenter Roeck
2022-08-08T10:29:55Z

On Fri, Aug 05, 2022 at 12:43:42AM +0200, Daniel Lezcano wrote:
> The thermal OF code has a new API allowing to migrate the OF
> initialization to a simpler approach. The ops are no longer device
> tree specific and are the generic ones provided by the core code.
>
> Convert the ops to the thermal_zone_device_ops format and use the new
> API to register the thermal zone with these generic ops.
>
> Signed-off-by: Daniel Lezcano <daniel.lezcano@linexp.org>

Subject tag should be something like "hwmon: (pmbus) ...".

Also, from other patches it appears that this would or might result
in a registration failure if a thermal zone for the sensor does not
exist. This will need to be resolved before the patch is can be applied.

Guenter

> ---
> drivers/hwmon/pmbus/pmbus_core.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c
> index 02912022853d..3b9bb2123a1a 100644
> --- a/drivers/hwmon/pmbus/pmbus_core.c
> +++ b/drivers/hwmon/pmbus/pmbus_core.c
> @@ -1109,9 +1109,9 @@ struct pmbus_thermal_data {
> struct pmbus_sensor *sensor;
> };
>
> -static int pmbus_thermal_get_temp(void *data, int *temp)
> +static int pmbus_thermal_get_temp(struct thermal_zone_device *tz, int *temp)
> {
> - struct pmbus_thermal_data *tdata = data;
> + struct pmbus_thermal_data *tdata = tz->devdata;
> struct pmbus_sensor *sensor = tdata->sensor;
> struct pmbus_data *pmbus_data = tdata->pmbus_data;
> struct i2c_client *client = to_i2c_client(pmbus_data->dev);
> @@ -1135,7 +1135,7 @@ static int pmbus_thermal_get_temp(void *data, int *temp)
> return ret;
> }
>
> -static const struct thermal_zone_of_device_ops pmbus_thermal_ops = {
> +static const struct thermal_zone_device_ops pmbus_thermal_ops = {
> .get_temp = pmbus_thermal_get_temp,
> };
>
> @@ -1153,8 +1153,8 @@ static int pmbus_thermal_add_sensor(struct pmbus_data *pmbus_data,
> tdata->sensor = sensor;
> tdata->pmbus_data = pmbus_data;
>
> - tzd = devm_thermal_zone_of_sensor_register(dev, index, tdata,
> - &pmbus_thermal_ops);
> + tzd = devm_thermal_of_zone_register(dev, index, tdata,
> + &pmbus_thermal_ops);
> /*
> * If CONFIG_THERMAL_OF is disabled, this returns -ENODEV,
> * so ignore that error but forward any other error.
> --
> 2.25.1
>