Commit 32fb9a8a authored by Daniel Lezcano's avatar Daniel Lezcano
Browse files

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: default avatarDaniel Lezcano <daniel.lezcano@linexp.org>
Link: https://lore.kernel.org/r/20220804224349.1926752-17-daniel.lezcano@linexp.org


Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
parent 2320be60
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -96,15 +96,15 @@ static int imx8mp_tmu_get_temp(void *data, int *temp)
	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;

	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,
};

@@ -165,7 +165,7 @@ static int imx8mm_tmu_probe(struct platform_device *pdev)
	for (i = 0; i < data->num_sensors; i++) {
		tmu->sensors[i].priv = tmu;
		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_tz_ops);
		if (IS_ERR(tmu->sensors[i].tzd)) {
+7 −7
Original line number Diff line number Diff line
@@ -43,11 +43,11 @@ struct imx_sc_msg_misc_get_temp {
	} data;
} __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_rpc_msg *hdr = &msg.hdr;
	struct imx_sc_sensor *sensor = data;
	struct imx_sc_sensor *sensor = tz->devdata;
	int ret;

	msg.data.req.resource_id = sensor->resource_id;
@@ -70,7 +70,7 @@ static int imx_sc_thermal_get_temp(void *data, int *temp)
	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,
};

@@ -109,7 +109,7 @@ static int imx_sc_thermal_probe(struct platform_device *pdev)
			break;
		}

		sensor->tzd = devm_thermal_zone_of_sensor_register(&pdev->dev,
		sensor->tzd = devm_thermal_of_zone_register(&pdev->dev,
							    sensor->resource_id,
							    sensor,
							    &imx_sc_thermal_ops);