aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firmware/efi/cper.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-08-06 23:34:19 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-08-06 23:34:19 -0400
commit7725131982477bffff8ffdea143434dcc69f5d90 (patch)
tree099440f6a8b11c8221ea99effec4c22818b3b577 /drivers/firmware/efi/cper.c
parent6b22df74f7af62137772c280791c932855f7635b (diff)
parent7ef97e0e3a0f4b02601dde384127cc85d27e46e2 (diff)
Merge tag 'pm+acpi-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull ACPI and power management updates from Rafael Wysocki: "Again, ACPICA leads the pack (47 commits), followed by cpufreq (18 commits) and system suspend/hibernation (9 commits). From the new code perspective, the ACPICA update brings ACPI 5.1 to the table, including a new device configuration object called _DSD (Device Specific Data) that will hopefully help us to operate device properties like Device Trees do (at least to some extent) and changes related to supporting ACPI on ARM. Apart from that we have hibernation changes making it use radix trees to store memory bitmaps which should speed up some operations carried out by it quite significantly. We also have some power management changes related to suspend-to-idle (the "freeze" sleep state) support and more preliminary changes needed to support ACPI on ARM (outside of ACPICA). The rest is fixes and cleanups pretty much everywhere. Specifics: - ACPICA update to upstream version 20140724. That includes ACPI 5.1 material (support for the _CCA and _DSD predefined names, changes related to the DMAR and PCCT tables and ARM support among other things) and cleanups related to using ACPICA's header files. A major part of it is related to acpidump and the core code used by that utility. Changes from Bob Moore, David E Box, Lv Zheng, Sascha Wildner, Tomasz Nowicki, Hanjun Guo. - Radix trees for memory bitmaps used by the hibernation core from Joerg Roedel. - Support for waking up the system from suspend-to-idle (also known as the "freeze" sleep state) using ACPI-based PCI wakeup signaling (Rafael J Wysocki). - Fixes for issues related to ACPI button events (Rafael J Wysocki). - New device ID for an ACPI-enumerated device included into the Wildcat Point PCH from Jie Yang. - ACPI video updates related to backlight handling from Hans de Goede and Linus Torvalds. - Preliminary changes needed to support ACPI on ARM from Hanjun Guo and Graeme Gregory. - ACPI PNP core cleanups from Arjun Sreedharan and Zhang Rui. - Cleanups related to ACPI_COMPANION() and ACPI_HANDLE() macros (Rafael J Wysocki). - ACPI-based device hotplug cleanups from Wei Yongjun and Rafael J Wysocki. - Cleanups and improvements related to system suspend from Lan Tianyu, Randy Dunlap and Rafael J Wysocki. - ACPI battery cleanup from Wei Yongjun. - cpufreq core fixes from Viresh Kumar. - Elimination of a deadband effect from the cpufreq ondemand governor and intel_pstate driver cleanups from Stratos Karafotis. - 350MHz CPU support for the powernow-k6 cpufreq driver from Mikulas Patocka. - Fix for the imx6 cpufreq driver from Anson Huang. - cpuidle core and governor cleanups from Daniel Lezcano, Sandeep Tripathy and Mohammad Merajul Islam Molla. - Build fix for the big_little cpuidle driver from Sachin Kamat. - Configuration fix for the Operation Performance Points (OPP) framework from Mark Brown. - APM cleanup from Jean Delvare. - cpupower utility fixes and cleanups from Peter Senna Tschudin, Andrey Utkin, Himangi Saraogi, Rickard Strandqvist, Thomas Renninger" * tag 'pm+acpi-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (118 commits) ACPI / LPSS: add LPSS device for Wildcat Point PCH ACPI / PNP: Replace faulty is_hex_digit() by isxdigit() ACPICA: Update version to 20140724. ACPICA: ACPI 5.1: Update for PCCT table changes. ACPICA/ARM: ACPI 5.1: Update for GTDT table changes. ACPICA/ARM: ACPI 5.1: Update for MADT changes. ACPICA/ARM: ACPI 5.1: Update for FADT changes. ACPICA: ACPI 5.1: Support for the _CCA predifined name. ACPICA: ACPI 5.1: New notify value for System Affinity Update. ACPICA: ACPI 5.1: Support for the _DSD predefined name. ACPICA: Debug object: Add current value of Timer() to debug line prefix. ACPICA: acpihelp: Add UUID support, restructure some existing files. ACPICA: Utilities: Fix local printf issue. ACPICA: Tables: Update for DMAR table changes. ACPICA: Remove some extraneous printf arguments. ACPICA: Update for comments/formatting. No functional changes. ACPICA: Disassembler: Add support for the ToUUID opererator (macro). ACPICA: Remove a redundant cast to acpi_size for ACPI_OFFSET() macro. ACPICA: Work around an ancient GCC bug. ACPI / processor: Make it possible to get local x2apic id via _MAT ...
Diffstat (limited to 'drivers/firmware/efi/cper.c')
-rw-r--r--drivers/firmware/efi/cper.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/drivers/firmware/efi/cper.c b/drivers/firmware/efi/cper.c
index 437e6fd47311..5b53d6183b6b 100644
--- a/drivers/firmware/efi/cper.c
+++ b/drivers/firmware/efi/cper.c
@@ -344,7 +344,7 @@ static const char * const pcie_port_type_strs[] = {
344}; 344};
345 345
346static void cper_print_pcie(const char *pfx, const struct cper_sec_pcie *pcie, 346static void cper_print_pcie(const char *pfx, const struct cper_sec_pcie *pcie,
347 const struct acpi_generic_data *gdata) 347 const struct acpi_hest_generic_data *gdata)
348{ 348{
349 if (pcie->validation_bits & CPER_PCIE_VALID_PORT_TYPE) 349 if (pcie->validation_bits & CPER_PCIE_VALID_PORT_TYPE)
350 printk("%s""port_type: %d, %s\n", pfx, pcie->port_type, 350 printk("%s""port_type: %d, %s\n", pfx, pcie->port_type,
@@ -380,7 +380,7 @@ static void cper_print_pcie(const char *pfx, const struct cper_sec_pcie *pcie,
380} 380}
381 381
382static void cper_estatus_print_section( 382static void cper_estatus_print_section(
383 const char *pfx, const struct acpi_generic_data *gdata, int sec_no) 383 const char *pfx, const struct acpi_hest_generic_data *gdata, int sec_no)
384{ 384{
385 uuid_le *sec_type = (uuid_le *)gdata->section_type; 385 uuid_le *sec_type = (uuid_le *)gdata->section_type;
386 __u16 severity; 386 __u16 severity;
@@ -426,9 +426,9 @@ err_section_too_small:
426} 426}
427 427
428void cper_estatus_print(const char *pfx, 428void cper_estatus_print(const char *pfx,
429 const struct acpi_generic_status *estatus) 429 const struct acpi_hest_generic_status *estatus)
430{ 430{
431 struct acpi_generic_data *gdata; 431 struct acpi_hest_generic_data *gdata;
432 unsigned int data_len, gedata_len; 432 unsigned int data_len, gedata_len;
433 int sec_no = 0; 433 int sec_no = 0;
434 char newpfx[64]; 434 char newpfx[64];
@@ -441,7 +441,7 @@ void cper_estatus_print(const char *pfx,
441 "and requires no further action"); 441 "and requires no further action");
442 printk("%s""event severity: %s\n", pfx, cper_severity_str(severity)); 442 printk("%s""event severity: %s\n", pfx, cper_severity_str(severity));
443 data_len = estatus->data_length; 443 data_len = estatus->data_length;
444 gdata = (struct acpi_generic_data *)(estatus + 1); 444 gdata = (struct acpi_hest_generic_data *)(estatus + 1);
445 snprintf(newpfx, sizeof(newpfx), "%s%s", pfx, INDENT_SP); 445 snprintf(newpfx, sizeof(newpfx), "%s%s", pfx, INDENT_SP);
446 while (data_len >= sizeof(*gdata)) { 446 while (data_len >= sizeof(*gdata)) {
447 gedata_len = gdata->error_data_length; 447 gedata_len = gdata->error_data_length;
@@ -453,10 +453,10 @@ void cper_estatus_print(const char *pfx,
453} 453}
454EXPORT_SYMBOL_GPL(cper_estatus_print); 454EXPORT_SYMBOL_GPL(cper_estatus_print);
455 455
456int cper_estatus_check_header(const struct acpi_generic_status *estatus) 456int cper_estatus_check_header(const struct acpi_hest_generic_status *estatus)
457{ 457{
458 if (estatus->data_length && 458 if (estatus->data_length &&
459 estatus->data_length < sizeof(struct acpi_generic_data)) 459 estatus->data_length < sizeof(struct acpi_hest_generic_data))
460 return -EINVAL; 460 return -EINVAL;
461 if (estatus->raw_data_length && 461 if (estatus->raw_data_length &&
462 estatus->raw_data_offset < sizeof(*estatus) + estatus->data_length) 462 estatus->raw_data_offset < sizeof(*estatus) + estatus->data_length)
@@ -466,9 +466,9 @@ int cper_estatus_check_header(const struct acpi_generic_status *estatus)
466} 466}
467EXPORT_SYMBOL_GPL(cper_estatus_check_header); 467EXPORT_SYMBOL_GPL(cper_estatus_check_header);
468 468
469int cper_estatus_check(const struct acpi_generic_status *estatus) 469int cper_estatus_check(const struct acpi_hest_generic_status *estatus)
470{ 470{
471 struct acpi_generic_data *gdata; 471 struct acpi_hest_generic_data *gdata;
472 unsigned int data_len, gedata_len; 472 unsigned int data_len, gedata_len;
473 int rc; 473 int rc;
474 474
@@ -476,7 +476,7 @@ int cper_estatus_check(const struct acpi_generic_status *estatus)
476 if (rc) 476 if (rc)
477 return rc; 477 return rc;
478 data_len = estatus->data_length; 478 data_len = estatus->data_length;
479 gdata = (struct acpi_generic_data *)(estatus + 1); 479 gdata = (struct acpi_hest_generic_data *)(estatus + 1);
480 while (data_len >= sizeof(*gdata)) { 480 while (data_len >= sizeof(*gdata)) {
481 gedata_len = gdata->error_data_length; 481 gedata_len = gdata->error_data_length;
482 if (gedata_len > data_len - sizeof(*gdata)) 482 if (gedata_len > data_len - sizeof(*gdata))