diff options
| author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-08-26 19:28:48 -0400 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2013-08-26 19:28:48 -0400 |
| commit | afdca01c9821134e71011029a194dd8fcb88c97e (patch) | |
| tree | c3a4862547760c3aaae5a8260ba3796a40bf47a6 | |
| parent | 4b319f290d3b9c756228a66f72095d0039ec1b50 (diff) | |
| parent | 36b99b22877bd25162239f1b00477ee6ae2d01ee (diff) | |
Merge branch 'acpica'
* acpica:
ACPICA: Update version to 20130725.
ACPICA: Update names for walk_namespace callbacks to clarify usage.
ACPICA: Return error if DerefOf resolves to a null package element.
ACPICA: Make ACPI Power Management Timer (PM Timer) optional.
ACPICA: Fix divergences of the commit - ACPICA: Expose OSI version.
ACPICA: Fix possible fault for methods that optionally have no return value.
ACPICA: DeRefOf operator: Update to fully resolve FieldUnit and BufferField refs.
ACPICA: Emit all unresolved method externals in a text block
ACPICA: Export acpi_tb_validate_rsdp().
ACPI: Add facility to remove all _OSI strings
ACPI: Add facility to disable all _OSI OS vendor strings
ACPICA: Add acpi_update_interfaces() public interface
ACPICA: Update version to 20130626
ACPICA: Fix compiler warnings for casting issues (only some compilers)
ACPICA: Remove restriction of 256 maximum GPEs in any GPE block
ACPICA: Disassembler: Expand maximum output string length to 64K
ACPICA: TableManager: Export acpi_tb_scan_memory_for_rsdp()
ACPICA: Update comments about behavior when _STA does not exist
| -rw-r--r-- | Documentation/kernel-parameters.txt | 55 | ||||
| -rw-r--r-- | drivers/acpi/acpica/acglobal.h | 7 | ||||
| -rw-r--r-- | drivers/acpi/acpica/aclocal.h | 4 | ||||
| -rw-r--r-- | drivers/acpi/acpica/acnamesp.h | 4 | ||||
| -rw-r--r-- | drivers/acpi/acpica/actables.h | 7 | ||||
| -rw-r--r-- | drivers/acpi/acpica/acutils.h | 4 | ||||
| -rw-r--r-- | drivers/acpi/acpica/evgpeinit.c | 11 | ||||
| -rw-r--r-- | drivers/acpi/acpica/exdump.c | 6 | ||||
| -rw-r--r-- | drivers/acpi/acpica/exoparg1.c | 48 | ||||
| -rw-r--r-- | drivers/acpi/acpica/hwtimer.c | 13 | ||||
| -rw-r--r-- | drivers/acpi/acpica/nspredef.c | 16 | ||||
| -rw-r--r-- | drivers/acpi/acpica/nswalk.c | 26 | ||||
| -rw-r--r-- | drivers/acpi/acpica/nsxfeval.c | 16 | ||||
| -rw-r--r-- | drivers/acpi/acpica/nsxfname.c | 11 | ||||
| -rw-r--r-- | drivers/acpi/acpica/tbfadt.c | 4 | ||||
| -rw-r--r-- | drivers/acpi/acpica/tbxfroot.c | 12 | ||||
| -rw-r--r-- | drivers/acpi/acpica/uteval.c | 8 | ||||
| -rw-r--r-- | drivers/acpi/acpica/utglobal.c | 1 | ||||
| -rw-r--r-- | drivers/acpi/acpica/utosi.c | 77 | ||||
| -rw-r--r-- | drivers/acpi/acpica/utstring.c | 5 | ||||
| -rw-r--r-- | drivers/acpi/acpica/utxface.c | 29 | ||||
| -rw-r--r-- | drivers/acpi/osl.c | 21 | ||||
| -rw-r--r-- | include/acpi/acpixf.h | 8 | ||||
| -rw-r--r-- | include/acpi/actypes.h | 21 |
24 files changed, 323 insertions, 91 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 7f9d4f53882c..03c196d90da3 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
| @@ -235,10 +235,61 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
| 235 | Format: To spoof as Windows 98: ="Microsoft Windows" | 235 | Format: To spoof as Windows 98: ="Microsoft Windows" |
| 236 | 236 | ||
| 237 | acpi_osi= [HW,ACPI] Modify list of supported OS interface strings | 237 | acpi_osi= [HW,ACPI] Modify list of supported OS interface strings |
| 238 | acpi_osi="string1" # add string1 -- only one string | 238 | acpi_osi="string1" # add string1 |
| 239 | acpi_osi="!string2" # remove built-in string2 | 239 | acpi_osi="!string2" # remove string2 |
| 240 | acpi_osi=!* # remove all strings | ||
| 241 | acpi_osi=! # disable all built-in OS vendor | ||
| 242 | strings | ||
| 240 | acpi_osi= # disable all strings | 243 | acpi_osi= # disable all strings |
| 241 | 244 | ||
| 245 | 'acpi_osi=!' can be used in combination with single or | ||
| 246 | multiple 'acpi_osi="string1"' to support specific OS | ||
| 247 | vendor string(s). Note that such command can only | ||
| 248 | affect the default state of the OS vendor strings, thus | ||
| 249 | it cannot affect the default state of the feature group | ||
| 250 | strings and the current state of the OS vendor strings, | ||
| 251 | specifying it multiple times through kernel command line | ||
| 252 | is meaningless. This command is useful when one do not | ||
| 253 | care about the state of the feature group strings which | ||
| 254 | should be controlled by the OSPM. | ||
| 255 | Examples: | ||
| 256 | 1. 'acpi_osi=! acpi_osi="Windows 2000"' is equivalent | ||
| 257 | to 'acpi_osi="Windows 2000" acpi_osi=!', they all | ||
| 258 | can make '_OSI("Windows 2000")' TRUE. | ||
| 259 | |||
| 260 | 'acpi_osi=' cannot be used in combination with other | ||
| 261 | 'acpi_osi=' command lines, the _OSI method will not | ||
| 262 | exist in the ACPI namespace. NOTE that such command can | ||
| 263 | only affect the _OSI support state, thus specifying it | ||
| 264 | multiple times through kernel command line is also | ||
| 265 | meaningless. | ||
| 266 | Examples: | ||
| 267 | 1. 'acpi_osi=' can make 'CondRefOf(_OSI, Local1)' | ||
| 268 | FALSE. | ||
| 269 | |||
| 270 | 'acpi_osi=!*' can be used in combination with single or | ||
| 271 | multiple 'acpi_osi="string1"' to support specific | ||
| 272 | string(s). Note that such command can affect the | ||
| 273 | current state of both the OS vendor strings and the | ||
| 274 | feature group strings, thus specifying it multiple times | ||
| 275 | through kernel command line is meaningful. But it may | ||
| 276 | still not able to affect the final state of a string if | ||
| 277 | there are quirks related to this string. This command | ||
| 278 | is useful when one want to control the state of the | ||
| 279 | feature group strings to debug BIOS issues related to | ||
| 280 | the OSPM features. | ||
| 281 | Examples: | ||
| 282 | 1. 'acpi_osi="Module Device" acpi_osi=!*' can make | ||
| 283 | '_OSI("Module Device")' FALSE. | ||
| 284 | 2. 'acpi_osi=!* acpi_osi="Module Device"' can make | ||
| 285 | '_OSI("Module Device")' TRUE. | ||
| 286 | 3. 'acpi_osi=! acpi_osi=!* acpi_osi="Windows 2000"' is | ||
| 287 | equivalent to | ||
| 288 | 'acpi_osi=!* acpi_osi=! acpi_osi="Windows 2000"' | ||
| 289 | and | ||
| 290 | 'acpi_osi=!* acpi_osi="Windows 2000" acpi_osi=!', | ||
| 291 | they all will make '_OSI("Windows 2000")' TRUE. | ||
| 292 | |||
| 242 | acpi_pm_good [X86] | 293 | acpi_pm_good [X86] |
| 243 | Override the pmtimer bug detection: force the kernel | 294 | Override the pmtimer bug detection: force the kernel |
| 244 | to assume that this machine's pmtimer latches its value | 295 | to assume that this machine's pmtimer latches its value |
diff --git a/drivers/acpi/acpica/acglobal.h b/drivers/acpi/acpica/acglobal.h index b8d38117a20c..90e846f985fa 100644 --- a/drivers/acpi/acpica/acglobal.h +++ b/drivers/acpi/acpica/acglobal.h | |||
| @@ -138,6 +138,12 @@ u8 ACPI_INIT_GLOBAL(acpi_gbl_disable_auto_repair, FALSE); | |||
| 138 | */ | 138 | */ |
| 139 | u8 ACPI_INIT_GLOBAL(acpi_gbl_disable_ssdt_table_load, FALSE); | 139 | u8 ACPI_INIT_GLOBAL(acpi_gbl_disable_ssdt_table_load, FALSE); |
| 140 | 140 | ||
| 141 | /* | ||
| 142 | * We keep track of the latest version of Windows that has been requested by | ||
| 143 | * the BIOS. | ||
| 144 | */ | ||
| 145 | u8 ACPI_INIT_GLOBAL(acpi_gbl_osi_data, 0); | ||
| 146 | |||
| 141 | /* acpi_gbl_FADT is a local copy of the FADT, converted to a common format. */ | 147 | /* acpi_gbl_FADT is a local copy of the FADT, converted to a common format. */ |
| 142 | 148 | ||
| 143 | struct acpi_table_fadt acpi_gbl_FADT; | 149 | struct acpi_table_fadt acpi_gbl_FADT; |
| @@ -285,7 +291,6 @@ ACPI_EXTERN u8 acpi_gbl_debugger_configuration; | |||
| 285 | ACPI_EXTERN u8 acpi_gbl_step_to_next_call; | 291 | ACPI_EXTERN u8 acpi_gbl_step_to_next_call; |
| 286 | ACPI_EXTERN u8 acpi_gbl_acpi_hardware_present; | 292 | ACPI_EXTERN u8 acpi_gbl_acpi_hardware_present; |
| 287 | ACPI_EXTERN u8 acpi_gbl_events_initialized; | 293 | ACPI_EXTERN u8 acpi_gbl_events_initialized; |
| 288 | ACPI_EXTERN u8 acpi_gbl_osi_data; | ||
| 289 | ACPI_EXTERN struct acpi_interface_info *acpi_gbl_supported_interfaces; | 294 | ACPI_EXTERN struct acpi_interface_info *acpi_gbl_supported_interfaces; |
| 290 | ACPI_EXTERN struct acpi_address_range | 295 | ACPI_EXTERN struct acpi_address_range |
| 291 | *acpi_gbl_address_range_list[ACPI_ADDRESS_RANGE_MAX]; | 296 | *acpi_gbl_address_range_list[ACPI_ADDRESS_RANGE_MAX]; |
diff --git a/drivers/acpi/acpica/aclocal.h b/drivers/acpi/acpica/aclocal.h index d4a4901637cd..0ed00669cd21 100644 --- a/drivers/acpi/acpica/aclocal.h +++ b/drivers/acpi/acpica/aclocal.h | |||
| @@ -942,6 +942,9 @@ struct acpi_interface_info { | |||
| 942 | 942 | ||
| 943 | #define ACPI_OSI_INVALID 0x01 | 943 | #define ACPI_OSI_INVALID 0x01 |
| 944 | #define ACPI_OSI_DYNAMIC 0x02 | 944 | #define ACPI_OSI_DYNAMIC 0x02 |
| 945 | #define ACPI_OSI_FEATURE 0x04 | ||
| 946 | #define ACPI_OSI_DEFAULT_INVALID 0x08 | ||
| 947 | #define ACPI_OSI_OPTIONAL_FEATURE (ACPI_OSI_FEATURE | ACPI_OSI_DEFAULT_INVALID | ACPI_OSI_INVALID) | ||
| 945 | 948 | ||
| 946 | struct acpi_port_info { | 949 | struct acpi_port_info { |
| 947 | char *name; | 950 | char *name; |
| @@ -1030,6 +1033,7 @@ struct acpi_external_list { | |||
| 1030 | u8 type; | 1033 | u8 type; |
| 1031 | u8 flags; | 1034 | u8 flags; |
| 1032 | u8 resolved; | 1035 | u8 resolved; |
| 1036 | u8 emitted; | ||
| 1033 | }; | 1037 | }; |
| 1034 | 1038 | ||
| 1035 | /* Values for Flags field above */ | 1039 | /* Values for Flags field above */ |
diff --git a/drivers/acpi/acpica/acnamesp.h b/drivers/acpi/acpica/acnamesp.h index b83dc32a5ae0..40b04bd5579e 100644 --- a/drivers/acpi/acpica/acnamesp.h +++ b/drivers/acpi/acpica/acnamesp.h | |||
| @@ -104,8 +104,8 @@ acpi_ns_walk_namespace(acpi_object_type type, | |||
| 104 | acpi_handle start_object, | 104 | acpi_handle start_object, |
| 105 | u32 max_depth, | 105 | u32 max_depth, |
| 106 | u32 flags, | 106 | u32 flags, |
| 107 | acpi_walk_callback pre_order_visit, | 107 | acpi_walk_callback descending_callback, |
| 108 | acpi_walk_callback post_order_visit, | 108 | acpi_walk_callback ascending_callback, |
| 109 | void *context, void **return_value); | 109 | void *context, void **return_value); |
| 110 | 110 | ||
| 111 | struct acpi_namespace_node *acpi_ns_get_next_node(struct acpi_namespace_node | 111 | struct acpi_namespace_node *acpi_ns_get_next_node(struct acpi_namespace_node |
diff --git a/drivers/acpi/acpica/actables.h b/drivers/acpi/acpica/actables.h index 7755e915a007..c54f42c64fe2 100644 --- a/drivers/acpi/acpica/actables.h +++ b/drivers/acpi/acpica/actables.h | |||
| @@ -47,6 +47,13 @@ | |||
| 47 | acpi_status acpi_allocate_root_table(u32 initial_table_count); | 47 | acpi_status acpi_allocate_root_table(u32 initial_table_count); |
