aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/thermal.c
diff options
context:
space:
mode:
authorZhang Rui <rui.zhang@intel.com>2008-01-17 02:51:21 -0500
committerLen Brown <len.brown@intel.com>2008-02-01 23:20:20 -0500
commit207339398ecb0835331c748612898dad2a09fdec (patch)
tree21baf89f158bfbeeac960f5e7b92cfe332b0ccde /drivers/acpi/thermal.c
parent702ed512de9c8a67a69a981c73b7337c2131f198 (diff)
ACPI: attach thermal zone info
Intel menlow driver needs to get the pointer of themal_zone_device structure of an ACPI thermal zone. Attach this to each ACPI thermal zone device object. Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Thomas Sujith <sujith.thomas@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/thermal.c')
-rw-r--r--drivers/acpi/thermal.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
index d317da5c6e9c..740036355722 100644
--- a/drivers/acpi/thermal.c
+++ b/drivers/acpi/thermal.c
@@ -1101,6 +1101,7 @@ static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz)
1101{ 1101{
1102 int trips = 0; 1102 int trips = 0;
1103 int result; 1103 int result;
1104 acpi_status status;
1104 int i; 1105 int i;
1105 1106
1106 if (tz->trips.critical.flags.valid) 1107 if (tz->trips.critical.flags.valid)
@@ -1129,6 +1130,15 @@ static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz)
1129 if (result) 1130 if (result)
1130 return result; 1131 return result;
1131 1132
1133 status = acpi_attach_data(tz->device->handle,
1134 acpi_bus_private_data_handler,
1135 tz->thermal_zone);
1136 if (ACPI_FAILURE(status)) {
1137 ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
1138 "Error attaching device data\n"));
1139 return -ENODEV;
1140 }
1141
1132 tz->tz_enabled = 1; 1142 tz->tz_enabled = 1;
1133 1143
1134 printk(KERN_INFO PREFIX "%s is registered as thermal_zone%d\n", 1144 printk(KERN_INFO PREFIX "%s is registered as thermal_zone%d\n",
@@ -1142,6 +1152,7 @@ static void acpi_thermal_unregister_thermal_zone(struct acpi_thermal *tz)
1142 sysfs_remove_link(&tz->thermal_zone->device.kobj, "device"); 1152 sysfs_remove_link(&tz->thermal_zone->device.kobj, "device");
1143 thermal_zone_device_unregister(tz->thermal_zone); 1153 thermal_zone_device_unregister(tz->thermal_zone);
1144 tz->thermal_zone = NULL; 1154 tz->thermal_zone = NULL;
1155 acpi_detach_data(tz->device->handle, acpi_bus_private_data_handler);
1145} 1156}
1146 1157
1147 1158