aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-08-26 19:28:48 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-08-26 19:28:48 -0400
commitafdca01c9821134e71011029a194dd8fcb88c97e (patch)
treec3a4862547760c3aaae5a8260ba3796a40bf47a6
parent4b319f290d3b9c756228a66f72095d0039ec1b50 (diff)
parent36b99b22877bd25162239f1b00477ee6ae2d01ee (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.txt55
-rw-r--r--drivers/acpi/acpica/acglobal.h7
-rw-r--r--drivers/acpi/acpica/aclocal.h4
-rw-r--r--drivers/acpi/acpica/acnamesp.h4
-rw-r--r--drivers/acpi/acpica/actables.h7
-rw-r--r--drivers/acpi/acpica/acutils.h4
-rw-r--r--drivers/acpi/acpica/evgpeinit.c11
-rw-r--r--drivers/acpi/acpica/exdump.c6
-rw-r--r--drivers/acpi/acpica/exoparg1.c48
-rw-r--r--drivers/acpi/acpica/hwtimer.c13
-rw-r--r--drivers/acpi/acpica/nspredef.c16
-rw-r--r--drivers/acpi/acpica/nswalk.c26
-rw-r--r--drivers/acpi/acpica/nsxfeval.c16
-rw-r--r--drivers/acpi/acpica/nsxfname.c11
-rw-r--r--drivers/acpi/acpica/tbfadt.c4
-rw-r--r--drivers/acpi/acpica/tbxfroot.c12
-rw-r--r--drivers/acpi/acpica/uteval.c8
-rw-r--r--drivers/acpi/acpica/utglobal.c1
-rw-r--r--drivers/acpi/acpica/utosi.c77
-rw-r--r--drivers/acpi/acpica/utstring.c5
-rw-r--r--drivers/acpi/acpica/utxface.c29
-rw-r--r--drivers/acpi/osl.c21
-rw-r--r--include/acpi/acpixf.h8
-rw-r--r--include/acpi/actypes.h21
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 */
139u8 ACPI_INIT_GLOBAL(acpi_gbl_disable_ssdt_table_load, FALSE); 139u8 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 */
145u8 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
143struct acpi_table_fadt acpi_gbl_FADT; 149struct acpi_table_fadt acpi_gbl_FADT;
@@ -285,7 +291,6 @@ ACPI_EXTERN u8 acpi_gbl_debugger_configuration;
285ACPI_EXTERN u8 acpi_gbl_step_to_next_call; 291ACPI_EXTERN u8 acpi_gbl_step_to_next_call;
286ACPI_EXTERN u8 acpi_gbl_acpi_hardware_present; 292ACPI_EXTERN u8 acpi_gbl_acpi_hardware_present;
287ACPI_EXTERN u8 acpi_gbl_events_initialized; 293ACPI_EXTERN u8 acpi_gbl_events_initialized;
288ACPI_EXTERN u8 acpi_gbl_osi_data;
289ACPI_EXTERN struct acpi_interface_info *acpi_gbl_supported_interfaces; 294ACPI_EXTERN struct acpi_interface_info *acpi_gbl_supported_interfaces;
290ACPI_EXTERN struct acpi_address_range 295ACPI_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
946struct acpi_port_info { 949struct 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
111struct acpi_namespace_node *acpi_ns_get_next_node(struct acpi_namespace_node 111struct 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 @@
47acpi_status acpi_allocate_root_table(u32 initial_table_count); 47acpi_status acpi_allocate_root_table(u32 initial_table_count);