提交 32fb9a8a 编写于 作者: D Daniel Lezcano 提交者: Daniel Lezcano

thermal/drivers/imx: 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: NDaniel Lezcano <daniel.lezcano@linexp.org>
Link: https://lore.kernel.org/r/20220804224349.1926752-17-daniel.lezcano@linexp.orgSigned-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
上级 2320be60
...@@ -96,15 +96,15 @@ static int imx8mp_tmu_get_temp(void *data, int *temp) ...@@ -96,15 +96,15 @@ static int imx8mp_tmu_get_temp(void *data, int *temp)
return 0; return 0;
} }
static int tmu_get_temp(void *data, int *temp) static int tmu_get_temp(struct thermal_zone_device *tz, int *temp)
{ {
struct tmu_sensor *sensor = data; struct tmu_sensor *sensor = tz->devdata;
struct imx8mm_tmu *tmu = sensor->priv; struct imx8mm_tmu *tmu = sensor->priv;
return tmu->socdata->get_temp(data, temp); return tmu->socdata->get_temp(sensor, temp);
} }
static struct thermal_zone_of_device_ops tmu_tz_ops = { static const struct thermal_zone_device_ops tmu_tz_ops = {
.get_temp = tmu_get_temp, .get_temp = tmu_get_temp,
}; };
...@@ -165,9 +165,9 @@ static int imx8mm_tmu_probe(struct platform_device *pdev) ...@@ -165,9 +165,9 @@ static int imx8mm_tmu_probe(struct platform_device *pdev)
for (i = 0; i < data->num_sensors; i++) { for (i = 0; i < data->num_sensors; i++) {
tmu->sensors[i].priv = tmu; tmu->sensors[i].priv = tmu;
tmu->sensors[i].tzd = tmu->sensors[i].tzd =
devm_thermal_zone_of_sensor_register(&pdev->dev, i, devm_thermal_of_zone_register(&pdev->dev, i,
&tmu->sensors[i], &tmu->sensors[i],
&tmu_tz_ops); &tmu_tz_ops);
if (IS_ERR(tmu->sensors[i].tzd)) { if (IS_ERR(tmu->sensors[i].tzd)) {
ret = PTR_ERR(tmu->sensors[i].tzd); ret = PTR_ERR(tmu->sensors[i].tzd);
dev_err(&pdev->dev, dev_err(&pdev->dev,
......
...@@ -43,11 +43,11 @@ struct imx_sc_msg_misc_get_temp { ...@@ -43,11 +43,11 @@ struct imx_sc_msg_misc_get_temp {
} data; } data;
} __packed __aligned(4); } __packed __aligned(4);
static int imx_sc_thermal_get_temp(void *data, int *temp) static int imx_sc_thermal_get_temp(struct thermal_zone_device *tz, int *temp)
{ {
struct imx_sc_msg_misc_get_temp msg; struct imx_sc_msg_misc_get_temp msg;
struct imx_sc_rpc_msg *hdr = &msg.hdr; struct imx_sc_rpc_msg *hdr = &msg.hdr;
struct imx_sc_sensor *sensor = data; struct imx_sc_sensor *sensor = tz->devdata;
int ret; int ret;
msg.data.req.resource_id = sensor->resource_id; msg.data.req.resource_id = sensor->resource_id;
...@@ -70,7 +70,7 @@ static int imx_sc_thermal_get_temp(void *data, int *temp) ...@@ -70,7 +70,7 @@ static int imx_sc_thermal_get_temp(void *data, int *temp)
return 0; return 0;
} }
static const struct thermal_zone_of_device_ops imx_sc_thermal_ops = { static const struct thermal_zone_device_ops imx_sc_thermal_ops = {
.get_temp = imx_sc_thermal_get_temp, .get_temp = imx_sc_thermal_get_temp,
}; };
...@@ -109,10 +109,10 @@ static int imx_sc_thermal_probe(struct platform_device *pdev) ...@@ -109,10 +109,10 @@ static int imx_sc_thermal_probe(struct platform_device *pdev)
break; break;
} }
sensor->tzd = devm_thermal_zone_of_sensor_register(&pdev->dev, sensor->tzd = devm_thermal_of_zone_register(&pdev->dev,
sensor->resource_id, sensor->resource_id,
sensor, sensor,
&imx_sc_thermal_ops); &imx_sc_thermal_ops);
if (IS_ERR(sensor->tzd)) { if (IS_ERR(sensor->tzd)) {
dev_err(&pdev->dev, "failed to register thermal zone\n"); dev_err(&pdev->dev, "failed to register thermal zone\n");
ret = PTR_ERR(sensor->tzd); ret = PTR_ERR(sensor->tzd);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册