diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-08-30 14:13:50 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-08-30 14:13:50 +0200 |
commit | da48afb26b40ebb5d6b0e84793e0662859c7ea20 (patch) | |
tree | 1c85a4ebd412a8c5e05e6dcb6a64f1326f8f1dff | |
parent | Merge branch 'pm-cpufreq' (diff) | |
parent | ACPI / EC: Add ASUSTEK L4R to quirk list in order to validate ECDT (diff) | |
download | linux-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
-rw-r--r-- | drivers/acpi/ec.c | 4 | ||||
-rw-r--r-- | drivers/acpi/thermal.c | 12 |
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"); } } |