@@ -220,8 +220,13 @@ static void remove_dts_thermal_zone(struct intel_soc_dts_sensor_entry *dts)
static int add_dts_thermal_zone(int id, struct intel_soc_dts_sensor_entry *dts,
bool critical_trip)
{
+ struct thermal_zone_device_params tzdp = {
+ .ops = &tzone_ops,
+ .devdata = dts,
+ .trips = dts->trips,
+ .num_trips = SOC_MAX_DTS_TRIPS,
+ };
int writable_trip_cnt = SOC_MAX_DTS_TRIPS;
- char name[10];
unsigned long trip;
int trip_mask;
unsigned long ptps;
@@ -253,12 +258,15 @@ static int add_dts_thermal_zone(int id, struct intel_soc_dts_sensor_entry *dts,
trip_mask &= ~BIT(i / 8);
}
dts->trip_mask = trip_mask;
- snprintf(name, sizeof(name), "soc_dts%d", id);
- dts->tzone = thermal_zone_device_register_with_trips(name, dts->trips,
- SOC_MAX_DTS_TRIPS,
- trip_mask,
- dts, &tzone_ops,
- NULL, 0, 0);
+
+ tzdp.type = kasprintf(GFP_KERNEL, "soc_dts%d", id);
+ if (!tzdp.type)
+ return -ENOMEM;
+
+ tzdp.mask = trip_mask;
+
+ dts->tzone = thermal_zone_device_register(&tzdp);
+ kfree(tzdp.type);
if (IS_ERR(dts->tzone)) {
ret = PTR_ERR(dts->tzone);
goto err_ret;
The thermal API has a new thermal_zone_device_register() function which is deprecating the older thermal_zone_device_register_with_trips() and thermal_tripless_zone_device_register(). Migrate to the new thermal zone device registration function. Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> --- drivers/thermal/intel/intel_soc_dts_iosf.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-)