Re: [PATCH v3 27/32] iio/drivers/sun4i_gpadc: Switch to new of thermal API

From: Jonathan Cameron
Date: Sun Jul 31 2022 - 08:03:31 EST


On Wed, 27 Jul 2022 23:02:48 +0200
Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> 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@xxxxxxxxxx>
Whilst making no pretence at having checked what the new calls do, I'm fine with this
patch affecting the driver in IIO and going through appropriate thermal tree.

Acked-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
> ---
> drivers/iio/adc/sun4i-gpadc-iio.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/iio/adc/sun4i-gpadc-iio.c b/drivers/iio/adc/sun4i-gpadc-iio.c
> index 2d393a4dfff6..13d1e937357c 100644
> --- a/drivers/iio/adc/sun4i-gpadc-iio.c
> +++ b/drivers/iio/adc/sun4i-gpadc-iio.c
> @@ -412,9 +412,9 @@ static int sun4i_gpadc_runtime_resume(struct device *dev)
> return 0;
> }
>
> -static int sun4i_gpadc_get_temp(void *data, int *temp)
> +static int sun4i_gpadc_get_temp(struct thermal_zone_device *tz, int *temp)
> {
> - struct sun4i_gpadc_iio *info = data;
> + struct sun4i_gpadc_iio *info = tz->devdata;
> int val, scale, offset;
>
> if (sun4i_gpadc_temp_read(info->indio_dev, &val))
> @@ -428,7 +428,7 @@ static int sun4i_gpadc_get_temp(void *data, int *temp)
> return 0;
> }
>
> -static const struct thermal_zone_of_device_ops sun4i_ts_tz_ops = {
> +static const struct thermal_zone_device_ops sun4i_ts_tz_ops = {
> .get_temp = &sun4i_gpadc_get_temp,
> };
>
> @@ -637,9 +637,9 @@ static int sun4i_gpadc_probe(struct platform_device *pdev)
> pm_runtime_enable(&pdev->dev);
>
> if (IS_ENABLED(CONFIG_THERMAL_OF)) {
> - info->tzd = thermal_zone_of_sensor_register(info->sensor_device,
> - 0, info,
> - &sun4i_ts_tz_ops);
> + info->tzd = thermal_of_zone_register(info->sensor_device,
> + 0, info,
> + &sun4i_ts_tz_ops);
> /*
> * Do not fail driver probing when failing to register in
> * thermal because no thermal DT node is found.