diff options
author | Zhang Rui <rui.zhang@intel.com> | 2008-01-17 02:51:21 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-02-01 23:20:20 -0500 |
commit | 207339398ecb0835331c748612898dad2a09fdec (patch) | |
tree | 21baf89f158bfbeeac960f5e7b92cfe332b0ccde /drivers/acpi/thermal.c | |
parent | 702ed512de9c8a67a69a981c73b7337c2131f198 (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.c | 11 |
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 | ||