|
@@ -799,6 +799,11 @@ static void thermal_release(struct device *dev)
|
|
|
if (!strncmp(dev_name(dev), "thermal_zone",
|
|
|
sizeof("thermal_zone") - 1)) {
|
|
|
tz = to_thermal_zone(dev);
|
|
|
+ kfree(tz->trip_type_attrs);
|
|
|
+ kfree(tz->trip_temp_attrs);
|
|
|
+ kfree(tz->trip_hyst_attrs);
|
|
|
+ kfree(tz->trips_attribute_group.attrs);
|
|
|
+ kfree(tz->device.groups);
|
|
|
kfree(tz);
|
|
|
} else if (!strncmp(dev_name(dev), "cooling_device",
|
|
|
sizeof("cooling_device") - 1)) {
|
|
@@ -1305,10 +1310,6 @@ void thermal_zone_device_unregister(struct thermal_zone_device *tz)
|
|
|
|
|
|
thermal_zone_device_set_polling(tz, 0);
|
|
|
|
|
|
- kfree(tz->trip_type_attrs);
|
|
|
- kfree(tz->trip_temp_attrs);
|
|
|
- kfree(tz->trip_hyst_attrs);
|
|
|
- kfree(tz->trips_attribute_group.attrs);
|
|
|
thermal_set_governor(tz, NULL);
|
|
|
|
|
|
thermal_remove_hwmon_sysfs(tz);
|
|
@@ -1316,7 +1317,6 @@ void thermal_zone_device_unregister(struct thermal_zone_device *tz)
|
|
|
idr_destroy(&tz->idr);
|
|
|
mutex_destroy(&tz->lock);
|
|
|
device_unregister(&tz->device);
|
|
|
- kfree(tz->device.groups);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(thermal_zone_device_unregister);
|
|
|
|