thermal/drivers/hisilicon: Switch to new of API

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>
Link: https://lore.kernel.org/r/20220804224349.1926752-24-daniel.lezcano@linexp.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
This commit is contained in:
Daniel Lezcano 2022-08-05 00:43:39 +02:00 committed by Daniel Lezcano
parent ae11d6a87c
commit 5ee7811e9a

View File

@ -434,9 +434,9 @@ static int hi3660_thermal_probe(struct hisi_thermal_data *data)
return 0; return 0;
} }
static int hisi_thermal_get_temp(void *__data, int *temp) static int hisi_thermal_get_temp(struct thermal_zone_device *tz, int *temp)
{ {
struct hisi_thermal_sensor *sensor = __data; struct hisi_thermal_sensor *sensor = tz->devdata;
struct hisi_thermal_data *data = sensor->data; struct hisi_thermal_data *data = sensor->data;
*temp = data->ops->get_temp(sensor); *temp = data->ops->get_temp(sensor);
@ -447,7 +447,7 @@ static int hisi_thermal_get_temp(void *__data, int *temp)
return 0; return 0;
} }
static const struct thermal_zone_of_device_ops hisi_of_thermal_ops = { static const struct thermal_zone_device_ops hisi_of_thermal_ops = {
.get_temp = hisi_thermal_get_temp, .get_temp = hisi_thermal_get_temp,
}; };
@ -459,7 +459,7 @@ static irqreturn_t hisi_thermal_alarm_irq_thread(int irq, void *dev)
data->ops->irq_handler(sensor); data->ops->irq_handler(sensor);
hisi_thermal_get_temp(sensor, &temp); temp = data->ops->get_temp(sensor);
if (temp >= sensor->thres_temp) { if (temp >= sensor->thres_temp) {
dev_crit(&data->pdev->dev, dev_crit(&data->pdev->dev,
@ -484,9 +484,9 @@ static int hisi_thermal_register_sensor(struct platform_device *pdev,
int ret, i; int ret, i;
const struct thermal_trip *trip; const struct thermal_trip *trip;
sensor->tzd = devm_thermal_zone_of_sensor_register(&pdev->dev, sensor->tzd = devm_thermal_of_zone_register(&pdev->dev,
sensor->id, sensor, sensor->id, sensor,
&hisi_of_thermal_ops); &hisi_of_thermal_ops);
if (IS_ERR(sensor->tzd)) { if (IS_ERR(sensor->tzd)) {
ret = PTR_ERR(sensor->tzd); ret = PTR_ERR(sensor->tzd);
sensor->tzd = NULL; sensor->tzd = NULL;