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

Jonathan Cameron jic23 at kernel.org
Sun Jul 31 05:13:28 PDT 2022


On Wed, 27 Jul 2022 23:02:48 +0200
Daniel Lezcano <daniel.lezcano at linexp.org> 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 at linexp.org>
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 at huawei.com>
> ---
>  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.




More information about the linux-arm-kernel mailing list