summaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-08-30 14:13:50 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-08-30 14:13:50 +0200
commitda48afb26b40ebb5d6b0e84793e0662859c7ea20 (patch)
tree1c85a4ebd412a8c5e05e6dcb6a64f1326f8f1dff /drivers/acpi
parentMerge branch 'pm-cpufreq' (diff)
parentACPI / EC: Add ASUSTEK L4R to quirk list in order to validate ECDT (diff)
downloadlinux-da48afb26b40ebb5d6b0e84793e0662859c7ea20.tar.xz
linux-da48afb26b40ebb5d6b0e84793e0662859c7ea20.zip
Merge branch 'acpi-assorted'
* acpi-assorted: ACPI / EC: Add ASUSTEK L4R to quirk list in order to validate ECDT ACPI / thermal: Add check of "_TZD" availability and evaluating result
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/ec.c4
-rw-r--r--drivers/acpi/thermal.c12
2 files changed, 10 insertions, 6 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 8dd2d4dce7c3..a06d98374705 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -987,6 +987,10 @@ static struct dmi_system_id ec_dmi_table[] __initdata = {
ec_skip_dsdt_scan, "HP Folio 13", {
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
DMI_MATCH(DMI_PRODUCT_NAME, "HP Folio 13"),}, NULL},
+ {
+ ec_validate_ecdt, "ASUS hardware", {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTek Computer Inc."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "L4R"),}, NULL},
{},
};
diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c
index 9063239e0b13..6a0329340b42 100644
--- a/drivers/acpi/thermal.c
+++ b/drivers/acpi/thermal.c
@@ -475,14 +475,14 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
break;
}
- if (flag & ACPI_TRIPS_DEVICES) {
- memset(&devices, 0, sizeof(struct acpi_handle_list));
+ if ((flag & ACPI_TRIPS_DEVICES)
+ && acpi_has_method(tz->device->handle, "_TZD")) {
+ memset(&devices, 0, sizeof(devices));
status = acpi_evaluate_reference(tz->device->handle, "_TZD",
NULL, &devices);
- if (memcmp(&tz->devices, &devices,
- sizeof(struct acpi_handle_list))) {
- memcpy(&tz->devices, &devices,
- sizeof(struct acpi_handle_list));
+ if (ACPI_SUCCESS(status)
+ && memcmp(&tz->devices, &devices, sizeof(devices))) {
+ tz->devices = devices;
ACPI_THERMAL_TRIPS_EXCEPTION(flag, "device");
}
}