aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/acpi/dispatcher/dsmethod.c23
-rw-r--r--drivers/acpi/dispatcher/dsmthdat.c6
-rw-r--r--drivers/acpi/dispatcher/dswload.c41
-rw-r--r--drivers/acpi/events/evgpe.c8
-rw-r--r--drivers/acpi/events/evmisc.c10
-rw-r--r--drivers/acpi/events/evregion.c7
-rw-r--r--drivers/acpi/executer/exconfig.c17
-rw-r--r--drivers/acpi/executer/exstorob.c2
-rw-r--r--drivers/acpi/namespace/nsaccess.c8
-rw-r--r--drivers/acpi/namespace/nssearch.c7
-rw-r--r--drivers/acpi/resources/rscalc.c4
-rw-r--r--drivers/acpi/resources/rscreate.c2
-rw-r--r--drivers/acpi/resources/rsutils.c5
-rw-r--r--drivers/acpi/tables/tbrsdt.c6
-rw-r--r--drivers/acpi/tables/tbxfroot.c16
-rw-r--r--drivers/acpi/utilities/utglobal.c8
-rw-r--r--include/acpi/acconfig.h2
-rw-r--r--include/acpi/acdisasm.h8
-rw-r--r--include/acpi/acevents.h2
-rw-r--r--include/acpi/acglobal.h8
-rw-r--r--include/acpi/aclocal.h14
-rw-r--r--include/acpi/acmacros.h10
-rw-r--r--include/acpi/acnamesp.h1
-rw-r--r--include/acpi/acpiosxf.h19
-rw-r--r--include/acpi/actbl.h6
-rw-r--r--include/acpi/actypes.h6
-rw-r--r--include/acpi/amlcode.h6
-rw-r--r--include/acpi/amlresrc.h19
28 files changed, 161 insertions, 110 deletions
diff --git a/drivers/acpi/dispatcher/dsmethod.c b/drivers/acpi/dispatcher/dsmethod.c
index 651f2b68531b..e348db0e541e 100644
--- a/drivers/acpi/dispatcher/dsmethod.c
+++ b/drivers/acpi/dispatcher/dsmethod.c
@@ -385,6 +385,7 @@ acpi_ds_restart_control_method(struct acpi_walk_state *walk_state,
385 union acpi_operand_object *return_desc) 385 union acpi_operand_object *return_desc)
386{ 386{
387 acpi_status status; 387 acpi_status status;
388 int same_as_implicit_return;
388 389
389 ACPI_FUNCTION_TRACE_PTR(ds_restart_control_method, walk_state); 390 ACPI_FUNCTION_TRACE_PTR(ds_restart_control_method, walk_state);
390 391
@@ -402,6 +403,11 @@ acpi_ds_restart_control_method(struct acpi_walk_state *walk_state,
402 403
403 if (return_desc) { 404 if (return_desc) {
404 405
406 /* Is the implicit return object the same as the return desc? */
407
408 same_as_implicit_return =
409 (walk_state->implicit_return_obj == return_desc);
410
405 /* Are we actually going to use the return value? */ 411 /* Are we actually going to use the return value? */
406 412
407 if (walk_state->return_used) { 413 if (walk_state->return_used) {
@@ -422,18 +428,23 @@ acpi_ds_restart_control_method(struct acpi_walk_state *walk_state,
422 } 428 }
423 429
424 /* 430 /*
425 * The following code is the 431 * The following code is the optional support for the so-called
426 * optional support for a so-called "implicit return". Some AML code 432 * "implicit return". Some AML code assumes that the last value of the
427 * assumes that the last value of the method is "implicitly" returned 433 * method is "implicitly" returned to the caller, in the absence of an
428 * to the caller. Just save the last result as the return value. 434 * explicit return value.
435 *
436 * Just save the last result of the method as the return value.
437 *
429 * NOTE: this is optional because the ASL language does not actually 438 * NOTE: this is optional because the ASL language does not actually
430 * support this behavior. 439 * support this behavior.
431 */ 440 */
432 else if (!acpi_ds_do_implicit_return 441 else if (!acpi_ds_do_implicit_return
433 (return_desc, walk_state, FALSE)) { 442 (return_desc, walk_state, FALSE)
443 || same_as_implicit_return) {
434 /* 444 /*
435 * Delete the return value if it will not be used by the 445 * Delete the return value if it will not be used by the
436 * calling method 446 * calling method or remove one reference if the explicit return
447 * is the same as the implicit return value.
437 */ 448 */
438 acpi_ut_remove_reference(return_desc); 449 acpi_ut_remove_reference(return_desc);
439 } 450 }
diff --git a/drivers/acpi/dispatcher/dsmthdat.c b/drivers/acpi/dispatcher/dsmthdat.c
index b47c54fad86d..459160ff9058 100644
--- a/drivers/acpi/dispatcher/dsmthdat.c
+++ b/drivers/acpi/dispatcher/dsmthdat.c
@@ -336,7 +336,7 @@ acpi_ds_method_data_set_value(u16 opcode,
336 * Increment ref count so object can't be deleted while installed. 336 * Increment ref count so object can't be deleted while installed.
337 * NOTE: We do not copy the object in order to preserve the call by 337 * NOTE: We do not copy the object in order to preserve the call by
338 * reference semantics of ACPI Control Method invocation. 338 * reference semantics of ACPI Control Method invocation.
339 * (See ACPI specification 2.0_c) 339 * (See ACPI Specification 2.0_c)
340 */ 340 */
341 acpi_ut_add_reference(object); 341 acpi_ut_add_reference(object);
342 342
@@ -351,7 +351,7 @@ acpi_ds_method_data_set_value(u16 opcode,
351 * FUNCTION: acpi_ds_method_data_get_value 351 * FUNCTION: acpi_ds_method_data_get_value
352 * 352 *
353 * PARAMETERS: Opcode - Either AML_LOCAL_OP or AML_ARG_OP 353 * PARAMETERS: Opcode - Either AML_LOCAL_OP or AML_ARG_OP
354 * Index - which local_var or argument to get 354 * Index - Which local_var or argument to get
355 * walk_state - Current walk state object 355 * walk_state - Current walk state object
356 * dest_desc - Where Arg or Local value is returned 356 * dest_desc - Where Arg or Local value is returned
357 * 357 *
@@ -459,7 +459,7 @@ acpi_ds_method_data_get_value(u16 opcode,
459 * FUNCTION: acpi_ds_method_data_delete_value 459 * FUNCTION: acpi_ds_method_data_delete_value
460 * 460 *
461 * PARAMETERS: Opcode - Either AML_LOCAL_OP or AML_ARG_OP 461 * PARAMETERS: Opcode - Either AML_LOCAL_OP or AML_ARG_OP
462 * Index - which local_var or argument to delete 462 * Index - Which local_var or argument to delete
463 * walk_state - Current walk state object 463 * walk_state - Current walk state object
464 * 464 *
465 * RETURN: None 465 * RETURN: None
diff --git a/drivers/acpi/dispatcher/dswload.c b/drivers/acpi/dispatcher/dswload.c
index a8deb700cf33..35074399c617 100644
--- a/drivers/acpi/dispatcher/dswload.c
+++ b/drivers/acpi/dispatcher/dswload.c
@@ -178,12 +178,12 @@ acpi_ds_load1_begin_op(struct acpi_walk_state * walk_state,
178 * Target of Scope() not found. Generate an External for it, and 178 * Target of Scope() not found. Generate an External for it, and
179 * insert the name into the namespace. 179 * insert the name into the namespace.
180 */ 180 */
181 acpi_dm_add_to_external_list(path); 181 acpi_dm_add_to_external_list(path, ACPI_TYPE_DEVICE, 0);
182 status = 182 status =
183 acpi_ns_lookup(walk_state->scope_info, path, 183 acpi_ns_lookup(walk_state->scope_info, path,
184 object_type, ACPI_IMODE_LOAD_PASS1, 184 object_type, ACPI_IMODE_LOAD_PASS1,
185 ACPI_NS_SEARCH_PARENT, walk_state, 185 ACPI_NS_SEARCH_PARENT, walk_state,
186 &(node)); 186 &node);
187 } 187 }
188#endif 188#endif
189 if (ACPI_FAILURE(status)) { 189 if (ACPI_FAILURE(status)) {
@@ -301,10 +301,41 @@ acpi_ds_load1_begin_op(struct acpi_walk_state * walk_state,
301 status = 301 status =
302 acpi_ns_lookup(walk_state->scope_info, path, object_type, 302 acpi_ns_lookup(walk_state->scope_info, path, object_type,
303 ACPI_IMODE_LOAD_PASS1, flags, walk_state, 303 ACPI_IMODE_LOAD_PASS1, flags, walk_state,
304 &(node)); 304 &node);
305 if (ACPI_FAILURE(status)) { 305 if (ACPI_FAILURE(status)) {
306 ACPI_ERROR_NAMESPACE(path, status); 306 if (status == AE_ALREADY_EXISTS) {
307 return_ACPI_STATUS(status); 307
308 /* The name already exists in this scope */
309
310 if (node->flags & ANOBJ_IS_EXTERNAL) {
311 /*
312 * Allow one create on an object or segment that was
313 * previously declared External
314 */
315 node->flags &= ~ANOBJ_IS_EXTERNAL;
316 node->type = (u8) object_type;
317
318 /* Just retyped a node, probably will need to open a scope */
319
320 if (acpi_ns_opens_scope(object_type)) {
321 status =
322 acpi_ds_scope_stack_push
323 (node, object_type,
324 walk_state);
325 if (ACPI_FAILURE(status)) {
326 return_ACPI_STATUS
327 (status);
328 }
329 }
330 status = AE_OK;
331 }
332 }
333
334 if (ACPI_FAILURE(status)) {
335
336 ACPI_ERROR_NAMESPACE(path, status);
337 return_ACPI_STATUS(status);
338 }
308 } 339 }
309 break; 340 break;
310 } 341 }
diff --git a/drivers/acpi/events/evgpe.c b/drivers/acpi/events/evgpe.c
index 25fd12a29a29..aa179dc78011 100644
--- a/drivers/acpi/events/evgpe.c
+++ b/drivers/acpi/events/evgpe.c
@@ -489,7 +489,7 @@ u32 acpi_ev_gpe_detect(struct acpi_gpe_xrupt_info * gpe_xrupt_list)
489 * RETURN: None 489 * RETURN: None
490 * 490 *
491 * DESCRIPTION: Perform the actual execution of a GPE control method. This 491 * DESCRIPTION: Perform the actual execution of a GPE control method. This
492 * function is called from an invocation of acpi_os_queue_for_execution 492 * function is called from an invocation of acpi_os_exece
493 * (and therefore does NOT execute at interrupt level) so that 493 * (and therefore does NOT execute at interrupt level) so that
494 * the control method itself is not executed in the context of 494 * the control method itself is not executed in the context of
495 * an interrupt handler. 495 * an interrupt handler.
@@ -674,9 +674,9 @@ acpi_ev_gpe_dispatch(struct acpi_gpe_event_info *gpe_event_info, u32 gpe_number)
674 * Execute the method associated with the GPE 674 * Execute the method associated with the GPE
675 * NOTE: Level-triggered GPEs are cleared after the method completes. 675 * NOTE: Level-triggered GPEs are cleared after the method completes.
676 */ 676 */
677 status = acpi_os_queue_for_execution(OSD_PRIORITY_GPE, 677 status = acpi_os_execute(OSL_GPE_HANDLER,
678 acpi_ev_asynch_execute_gpe_method, 678 acpi_ev_asynch_execute_gpe_method,
679 gpe_event_info); 679 gpe_event_info);
680 if (ACPI_FAILURE(status)) { 680 if (ACPI_FAILURE(status)) {
681 ACPI_EXCEPTION((AE_INFO, status, 681 ACPI_EXCEPTION((AE_INFO, status,
682 "Unable to queue handler for GPE[%2X] - event disabled", 682 "Unable to queue handler for GPE[%2X] - event disabled",
diff --git a/drivers/acpi/events/evmisc.c b/drivers/acpi/events/evmisc.c
index 97e05481aa7c..24e0b8d36f31 100644
--- a/drivers/acpi/events/evmisc.c
+++ b/drivers/acpi/events/evmisc.c
@@ -191,9 +191,8 @@ acpi_ev_queue_notify_request(struct acpi_namespace_node * node,
191 notify_info->notify.value = (u16) notify_value; 191 notify_info->notify.value = (u16) notify_value;
192 notify_info->notify.handler_obj = handler_obj; 192 notify_info->notify.handler_obj = handler_obj;
193 193
194 status = acpi_os_queue_for_execution(OSD_PRIORITY_HIGH, 194 status = acpi_os_execute(OSL_NOTIFY_HANDLER,
195 acpi_ev_notify_dispatch, 195 acpi_ev_notify_dispatch, notify_info);
196 notify_info);
197 if (ACPI_FAILURE(status)) { 196 if (ACPI_FAILURE(status)) {
198 acpi_ut_delete_generic_state(notify_info); 197 acpi_ut_delete_generic_state(notify_info);
199 } 198 }
@@ -346,9 +345,8 @@ static u32 acpi_ev_global_lock_handler(void *context)
346 345
347 /* Run the Global Lock thread which will signal all waiting threads */ 346 /* Run the Global Lock thread which will signal all waiting threads */
348 347
349 status = acpi_os_queue_for_execution(OSD_PRIORITY_HIGH, 348 status = acpi_os_execute(OSL_GLOBAL_LOCK_HANDLER,
350 acpi_ev_global_lock_thread, 349 acpi_ev_global_lock_thread, context);
351 context);
352 if (ACPI_FAILURE(status)) { 350 if (ACPI_FAILURE(status)) {
353 ACPI_EXCEPTION((AE_INFO, status, 351 ACPI_EXCEPTION((AE_INFO, status,
354 "Could not queue Global Lock thread")); 352 "Could not queue Global Lock thread"));
diff --git a/drivers/acpi/events/evregion.c b/drivers/acpi/events/evregion.c
index eb29e96f053c..edf9d2e1dff9 100644
--- a/drivers/acpi/events/evregion.c
+++ b/drivers/acpi/events/evregion.c
@@ -261,7 +261,8 @@ acpi_ev_execute_reg_method(union acpi_operand_object *region_obj, u32 function)
261 * Function - Read or Write operation 261 * Function - Read or Write operation
262 * Address - Where in the space to read or write 262 * Address - Where in the space to read or write
263 * bit_width - Field width in bits (8, 16, 32, or 64) 263 * bit_width - Field width in bits (8, 16, 32, or 64)
264 * Value - Pointer to in or out value 264 * Value - Pointer to in or out value, must be
265 * full 64-bit acpi_integer
265 * 266 *
266 * RETURN: Status 267 * RETURN: Status
267 * 268 *
@@ -274,7 +275,7 @@ acpi_status
274acpi_ev_address_space_dispatch(union acpi_operand_object *region_obj, 275acpi_ev_address_space_dispatch(union acpi_operand_object *region_obj,
275 u32 function, 276 u32 function,
276 acpi_physical_address address, 277 acpi_physical_address address,
277 u32 bit_width, void *value) 278 u32 bit_width, acpi_integer * value)
278{ 279{
279 acpi_status status; 280 acpi_status status;
280 acpi_status status2; 281 acpi_status status2;
@@ -1007,7 +1008,7 @@ acpi_ev_execute_reg_methods(struct acpi_namespace_node *node,
1007 * 1008 *
1008 * PARAMETERS: walk_namespace callback 1009 * PARAMETERS: walk_namespace callback
1009 * 1010 *
1010 * DESCRIPTION: Run _REg method for region objects of the requested space_iD 1011 * DESCRIPTION: Run _REG method for region objects of the requested space_iD
1011 * 1012 *
1012 ******************************************************************************/ 1013 ******************************************************************************/
1013 1014
diff --git a/drivers/acpi/executer/exconfig.c b/drivers/acpi/executer/exconfig.c
index 9c46f3338640..9ae3cb55979b 100644
--- a/drivers/acpi/executer/exconfig.c
+++ b/drivers/acpi/executer/exconfig.c
@@ -298,6 +298,7 @@ acpi_ex_load_op(union acpi_operand_object *obj_desc,
298 struct acpi_table_header *table_ptr = NULL; 298 struct acpi_table_header *table_ptr = NULL;
299 acpi_physical_address address; 299 acpi_physical_address address;
300 struct acpi_table_header table_header; 300 struct acpi_table_header table_header;
301 acpi_integer temp;
301 u32 i; 302 u32 i;
302 303
303 ACPI_FUNCTION_TRACE(ex_load_op); 304 ACPI_FUNCTION_TRACE(ex_load_op);
@@ -326,7 +327,7 @@ acpi_ex_load_op(union acpi_operand_object *obj_desc,
326 327
327 address = obj_desc->region.address; 328 address = obj_desc->region.address;
328 329
329 /* Get the table length from the table header */ 330 /* Get part of the table header to get the table length */
330 331
331 table_header.length = 0; 332 table_header.length = 0;
332 for (i = 0; i < 8; i++) { 333 for (i = 0; i < 8; i++) {
@@ -334,11 +335,14 @@ acpi_ex_load_op(union acpi_operand_object *obj_desc,
334 acpi_ev_address_space_dispatch(obj_desc, ACPI_READ, 335 acpi_ev_address_space_dispatch(obj_desc, ACPI_READ,
335 (acpi_physical_address) 336 (acpi_physical_address)
336 (i + address), 8, 337 (i + address), 8,
337 ((u8 *) & 338 &temp);
338 table_header) + i);
339 if (ACPI_FAILURE(status)) { 339 if (ACPI_FAILURE(status)) {
340 return_ACPI_STATUS(status); 340 return_ACPI_STATUS(status);
341 } 341 }
342
343 /* Get the one valid byte of the returned 64-bit value */
344
345 ACPI_CAST_PTR(u8, &table_header)[i] = (u8) temp;
342 } 346 }
343 347
344 /* Sanity check the table length */ 348 /* Sanity check the table length */
@@ -361,11 +365,14 @@ acpi_ex_load_op(union acpi_operand_object *obj_desc,
361 acpi_ev_address_space_dispatch(obj_desc, ACPI_READ, 365 acpi_ev_address_space_dispatch(obj_desc, ACPI_READ,
362 (acpi_physical_address) 366 (acpi_physical_address)
363 (i + address), 8, 367 (i + address), 8,
364 ((u8 *) table_ptr + 368 &temp);
365 i));
366 if (ACPI_FAILURE(status)) { 369 if (ACPI_FAILURE(status)) {
367 goto cleanup; 370 goto cleanup;
368 } 371 }
372
373 /* Get the one valid byte of the returned 64-bit value */
374
375 ACPI_CAST_PTR(u8, table_ptr)[i] = (u8) temp;
369 } 376 }
370 break; 377 break;
371 378
diff --git a/drivers/acpi/executer/exstorob.c b/drivers/acpi/executer/exstorob.c
index 18925f5b313c..99ebe5adfcda 100644
--- a/drivers/acpi/executer/exstorob.c
+++ b/drivers/acpi/executer/exstorob.c
@@ -103,7 +103,7 @@ acpi_ex_store_buffer_to_buffer(union acpi_operand_object *source_desc,
103 * NOTE: ACPI versions up to 3.0 specified that the buffer must be 103 * NOTE: ACPI versions up to 3.0 specified that the buffer must be
104 * truncated if the string is smaller than the buffer. However, "other" 104 * truncated if the string is smaller than the buffer. However, "other"
105 * implementations of ACPI never did this and thus became the defacto 105 * implementations of ACPI never did this and thus became the defacto
106 * standard. ACPi 3.0_a changes this behavior such that the buffer 106 * standard. ACPI 3.0_a changes this behavior such that the buffer
107 * is no longer truncated. 107 * is no longer truncated.
108 */ 108 */
109 109
diff --git a/drivers/acpi/namespace/nsaccess.c b/drivers/acpi/namespace/nsaccess.c
index 5e3f63a90fb4..ba8ad569188f 100644
--- a/drivers/acpi/namespace/nsaccess.c
+++ b/drivers/acpi/namespace/nsaccess.c
@@ -157,7 +157,7 @@ acpi_status acpi_ns_root_initialize(void)
157 157
158#if defined (ACPI_ASL_COMPILER) 158#if defined (ACPI_ASL_COMPILER)
159 159
160 /* save the parameter count for the i_aSL compiler */ 160 /* Save the parameter count for the i_aSL compiler */
161 161
162 new_node->value = obj_desc->method.param_count; 162 new_node->value = obj_desc->method.param_count;
163#else 163#else
@@ -311,8 +311,7 @@ acpi_ns_lookup(union acpi_generic_state *scope_info,
311 acpi_object_type type_to_check_for; 311 acpi_object_type type_to_check_for;
312 acpi_object_type this_search_type; 312 acpi_object_type this_search_type;
313 u32 search_parent_flag = ACPI_NS_SEARCH_PARENT; 313 u32 search_parent_flag = ACPI_NS_SEARCH_PARENT;
314 u32 local_flags = flags & ~(ACPI_NS_ERROR_IF_FOUND | 314 u32 local_flags;
315 ACPI_NS_SEARCH_PARENT);
316 315
317 ACPI_FUNCTION_TRACE(ns_lookup); 316 ACPI_FUNCTION_TRACE(ns_lookup);
318 317
@@ -320,8 +319,9 @@ acpi_ns_lookup(union acpi_generic_state *scope_info,
320 return_ACPI_STATUS(AE_BAD_PARAMETER); 319 return_ACPI_STATUS(AE_BAD_PARAMETER);
321 } 320 }
322 321
323 acpi_gbl_ns_lookup_count++; 322 local_flags = flags & ~(ACPI_NS_ERROR_IF_FOUND | ACPI_NS_SEARCH_PARENT);
324 *return_node = ACPI_ENTRY_NOT_FOUND; 323 *return_node = ACPI_ENTRY_NOT_FOUND;
324 acpi_gbl_ns_lookup_count++;
325 325
326 if (!acpi_gbl_root_node) { 326 if (!acpi_gbl_root_node) {
327 return_ACPI_STATUS(AE_NO_NAMESPACE); 327 return_ACPI_STATUS(AE_NO_NAMESPACE);
diff --git a/drivers/acpi/namespace/nssearch.c b/drivers/acpi/namespace/nssearch.c
index 34ac512a2d5e..d2473476afa5 100644
--- a/drivers/acpi/namespace/nssearch.c
+++ b/drivers/acpi/namespace/nssearch.c
@@ -299,7 +299,7 @@ acpi_ns_search_and_enter(u32 target_name,
299 299
300 if (!node || !target_name || !return_node) { 300 if (!node || !target_name || !return_node) {
301 ACPI_ERROR((AE_INFO, 301 ACPI_ERROR((AE_INFO,
302 "Null param: Node %p Name %X ReturnNode %p", 302 "Null parameter: Node %p Name %X ReturnNode %p",
303 node, target_name, return_node)); 303 node, target_name, return_node));
304 return_ACPI_STATUS(AE_BAD_PARAMETER); 304 return_ACPI_STATUS(AE_BAD_PARAMETER);
305 } 305 }
@@ -385,6 +385,11 @@ acpi_ns_search_and_enter(u32 target_name,
385 if (!new_node) { 385 if (!new_node) {
386 return_ACPI_STATUS(AE_NO_MEMORY); 386 return_ACPI_STATUS(AE_NO_MEMORY);
387 } 387 }
388#ifdef ACPI_ASL_COMPILER
389 if (flags & ACPI_NS_EXTERNAL) {
390 new_node->flags |= ANOBJ_IS_EXTERNAL;
391 }
392#endif
388 393
389 /* Install the new object into the parent's list of children */ 394 /* Install the new object into the parent's list of children */
390 395
diff --git a/drivers/acpi/resources/rscalc.c b/drivers/acpi/resources/rscalc.c
index a573ad5d41db..cf87b0230026 100644
--- a/drivers/acpi/resources/rscalc.c
+++ b/drivers/acpi/resources/rscalc.c
@@ -451,7 +451,7 @@ acpi_rs_get_list_length(u8 * aml_buffer,
451 */ 451 */
452 buffer_size = acpi_gbl_resource_struct_sizes[resource_index] + 452 buffer_size = acpi_gbl_resource_struct_sizes[resource_index] +
453 extra_struct_bytes; 453 extra_struct_bytes;
454 buffer_size = ACPI_ROUND_UP_TO_NATIVE_WORD(buffer_size); 454 buffer_size = (u32) ACPI_ROUND_UP_TO_NATIVE_WORD(buffer_size);
455 455
456 *size_needed += buffer_size; 456 *size_needed += buffer_size;
457 457
@@ -579,7 +579,7 @@ acpi_rs_get_pci_routing_table_length(union acpi_operand_object *package_object,
579 579
580 /* Round up the size since each element must be aligned */ 580 /* Round up the size since each element must be aligned */
581 581
582 temp_size_needed = ACPI_ROUND_UP_to_64_bIT(temp_size_needed); 582 temp_size_needed = ACPI_ROUND_UP_TO_64BIT(temp_size_needed);
583 583
584 /* Point to the next union acpi_operand_object */ 584 /* Point to the next union acpi_operand_object */
585 585
diff --git a/drivers/acpi/resources/rscreate.c b/drivers/acpi/resources/rscreate.c
index 4c322daaf885..008058acdd39 100644
--- a/drivers/acpi/resources/rscreate.c
+++ b/drivers/acpi/resources/rscreate.c
@@ -335,7 +335,7 @@ acpi_rs_create_pci_routing_table(union acpi_operand_object *package_object,
335 /* Now align the current length */ 335 /* Now align the current length */
336 336
337 user_prt->length = 337 user_prt->length =
338 (u32) ACPI_ROUND_UP_to_64_bIT(user_prt->length); 338 (u32) ACPI_ROUND_UP_TO_64BIT(user_prt->length);
339 339
340 /* 4) Fourth subobject: Dereference the PRT.source_index */ 340 /* 4) Fourth subobject: Dereference the PRT.source_index */
341 341
diff --git a/drivers/acpi/resources/rsutils.c b/drivers/acpi/resources/rsutils.c
index aa98eebc9b78..0e493f2fec4d 100644
--- a/drivers/acpi/resources/rsutils.c
+++ b/drivers/acpi/resources/rsutils.c
@@ -354,6 +354,7 @@ acpi_rs_get_resource_source(acpi_rs_length resource_length,
354 * Zero the entire area of the buffer. 354 * Zero the entire area of the buffer.
355 */ 355 */
356 total_length = 356 total_length =
357 (u32)
357 ACPI_STRLEN(ACPI_CAST_PTR(char, &aml_resource_source[1])) + 358 ACPI_STRLEN(ACPI_CAST_PTR(char, &aml_resource_source[1])) +
358 1; 359 1;
359 total_length = (u32) ACPI_ROUND_UP_TO_NATIVE_WORD(total_length); 360 total_length = (u32) ACPI_ROUND_UP_TO_NATIVE_WORD(total_length);
@@ -528,7 +529,7 @@ acpi_rs_get_crs_method_data(acpi_handle handle, struct acpi_buffer *ret_buffer)
528 */ 529 */
529 status = acpi_rs_create_resource_list(obj_desc, ret_buffer); 530 status = acpi_rs_create_resource_list(obj_desc, ret_buffer);
530 531
531 /* on exit, we must delete the object returned by evaluate_object */ 532 /* On exit, we must delete the object returned by evaluate_object */
532 533
533 acpi_ut_remove_reference(obj_desc); 534 acpi_ut_remove_reference(obj_desc);
534 return_ACPI_STATUS(status); 535 return_ACPI_STATUS(status);
@@ -578,7 +579,7 @@ acpi_rs_get_prs_method_data(acpi_handle handle, struct acpi_buffer *ret_buffer)
578 */ 579 */
579 status = acpi_rs_create_resource_list(obj_desc, ret_buffer); 580 status = acpi_rs_create_resource_list(obj_desc, ret_buffer);
580 581
581 /* on exit, we must delete the object returned by evaluate_object */ 582 /* On exit, we must delete the object returned by evaluate_object */
582 583
583 acpi_ut_remove_reference(obj_desc); 584 acpi_ut_remove_reference(obj_desc);
584 return_ACPI_STATUS(status); 585 return_ACPI_STATUS(status);
diff --git a/drivers/acpi/tables/tbrsdt.c b/drivers/acpi/tables/tbrsdt.c
index 9e226438a3f6..494965229fa2 100644
--- a/drivers/acpi/tables/tbrsdt.c
+++ b/drivers/acpi/tables/tbrsdt.c
@@ -196,10 +196,8 @@ acpi_status acpi_tb_validate_rsdt(struct acpi_table_header *table_ptr)
196 ACPI_DUMP_BUFFER(acpi_gbl_RSDP, 20); 196 ACPI_DUMP_BUFFER(acpi_gbl_RSDP, 20);
197 197
198 ACPI_ERROR((AE_INFO, 198 ACPI_ERROR((AE_INFO,
199 "RSDT/XSDT signature at %X (%p) is invalid", 199 "RSDT/XSDT signature at %X is invalid",
200 acpi_gbl_RSDP->rsdt_physical_address, 200 acpi_gbl_RSDP->rsdt_physical_address));
201 (void *)(acpi_native_uint) acpi_gbl_RSDP->
202 rsdt_physical_address));
203 201
204 if (acpi_gbl_root_table_type == ACPI_TABLE_TYPE_RSDT) { 202 if (acpi_gbl_root_table_type == ACPI_TABLE_TYPE_RSDT) {
205 ACPI_ERROR((AE_INFO, "Looking for RSDT")); 203 ACPI_ERROR((AE_INFO, "Looking for RSDT"));
diff --git a/drivers/acpi/tables/tbxfroot.c b/drivers/acpi/tables/tbxfroot.c
index 3107e741d510..da2648bbdbc0 100644
--- a/drivers/acpi/tables/tbxfroot.c
+++ b/drivers/acpi/tables/tbxfroot.c
@@ -472,10 +472,10 @@ static u8 *acpi_tb_scan_memory_for_rsdp(u8 * start_address, u32 length)
472 * 472 *
473 * RETURN: Status, RSDP physical address 473 * RETURN: Status, RSDP physical address
474 * 474 *
475 * DESCRIPTION: search lower 1_mbyte of memory for the root system descriptor 475 * DESCRIPTION: Search lower 1_mbyte of memory for the root system descriptor
476 * pointer structure. If it is found, set *RSDP to point to it. 476 * pointer structure. If it is found, set *RSDP to point to it.
477 * 477 *
478 * NOTE1: The RSDp must be either in the first 1_k of the Extended 478 * NOTE1: The RSDP must be either in the first 1_k of the Extended
479 * BIOS Data Area or between E0000 and FFFFF (From ACPI Spec.) 479 * BIOS Data Area or between E0000 and FFFFF (From ACPI Spec.)
480 * Only a 32-bit physical address is necessary. 480 * Only a 32-bit physical address is necessary.
481 * 481 *
@@ -525,7 +525,7 @@ acpi_tb_find_rsdp(struct acpi_table_desc *table_info, u32 flags)
525 525
526 if (physical_address > 0x400) { 526 if (physical_address > 0x400) {
527 /* 527 /*
528 * 1b) Search EBDA paragraphs (EBDa is required to be a 528 * 1b) Search EBDA paragraphs (EBDA is required to be a
529 * minimum of 1_k length) 529 * minimum of 1_k length)
530 */ 530 */
531 status = acpi_os_map_memory((acpi_physical_address) 531 status = acpi_os_map_memory((acpi_physical_address)
@@ -550,7 +550,7 @@ acpi_tb_find_rsdp(struct acpi_table_desc *table_info, u32 flags)
550 /* Return the physical address */ 550 /* Return the physical address */
551 551
552 physical_address += 552 physical_address +=
553 ACPI_PTR_DIFF(mem_rover, table_ptr); 553 (u32) ACPI_PTR_DIFF(mem_rover, table_ptr);
554 554
555 table_info->physical_address = 555 table_info->physical_address =
556 (acpi_physical_address) physical_address; 556 (acpi_physical_address) physical_address;
@@ -584,9 +584,9 @@ acpi_tb_find_rsdp(struct acpi_table_desc *table_info, u32 flags)
584 584
585 /* Return the physical address */ 585 /* Return the physical address */
586 586
587 physical_address = 587 physical_address = (u32)
588 ACPI_HI_RSDP_WINDOW_BASE + ACPI_PTR_DIFF(mem_rover, 588 (ACPI_HI_RSDP_WINDOW_BASE +
589 table_ptr); 589 ACPI_PTR_DIFF(mem_rover, table_ptr));
590 590
591 table_info->physical_address = 591 table_info->physical_address =
592 (acpi_physical_address) physical_address; 592 (acpi_physical_address) physical_address;
@@ -607,7 +607,7 @@ acpi_tb_find_rsdp(struct acpi_table_desc *table_info, u32 flags)
607 607
608 if (physical_address > 0x400) { 608 if (physical_address > 0x400) {
609 /* 609 /*
610 * 1b) Search EBDA paragraphs (EBDa is required to be a minimum of 610 * 1b) Search EBDA paragraphs (EBDA is required to be a minimum of
611 * 1_k length) 611 * 1_k length)
612 */ 612 */
613 mem_rover = 613 mem_rover =
diff --git a/drivers/acpi/utilities/utglobal.c b/drivers/acpi/utilities/utglobal.c
index e666c71be0bf..9450f9b5bfb2 100644
--- a/drivers/acpi/utilities/utglobal.c
+++ b/drivers/acpi/utilities/utglobal.c
@@ -443,7 +443,6 @@ struct acpi_fixed_event_info acpi_gbl_fixed_event_info[ACPI_NUM_FIXED_EVENTS] =
443/* Region type decoding */ 443/* Region type decoding */
444 444
445const char *acpi_gbl_region_types[ACPI_NUM_PREDEFINED_REGIONS] = { 445const char *acpi_gbl_region_types[ACPI_NUM_PREDEFINED_REGIONS] = {
446/*! [Begin] no source code translation (keep these ASL Keywords as-is) */
447 "SystemMemory", 446 "SystemMemory",
448 "SystemIO", 447 "SystemIO",
449 "PCI_Config", 448 "PCI_Config",
@@ -452,7 +451,6 @@ const char *acpi_gbl_region_types[ACPI_NUM_PREDEFINED_REGIONS] = {
452 "CMOS", 451 "CMOS",
453 "PCIBARTarget", 452 "PCIBARTarget",
454 "DataTable" 453 "DataTable"
455/*! [End] no source code translation !*/
456}; 454};
457 455
458char *acpi_ut_get_region_name(u8 space_id) 456char *acpi_ut_get_region_name(u8 space_id)
@@ -482,13 +480,11 @@ char *acpi_ut_get_region_name(u8 space_id)
482/* Event type decoding */ 480/* Event type decoding */
483 481
484static const char *acpi_gbl_event_types[ACPI_NUM_FIXED_EVENTS] = { 482static const char *acpi_gbl_event_types[ACPI_NUM_FIXED_EVENTS] = {
485/*! [Begin] no source code translation (keep these strings as-is) */
486 "PM_Timer", 483 "PM_Timer",
487 "GlobalLock", 484 "GlobalLock",
488 "PowerButton", 485 "PowerButton",
489 "SleepButton", 486 "SleepButton",
490 "RealTimeClock", 487 "RealTimeClock",
491/*! [End] no source code translation !*/
492}; 488};
493 489
494char *acpi_ut_get_event_name(u32 event_id) 490char *acpi_ut_get_event_name(u32 event_id)
@@ -526,7 +522,6 @@ static const char acpi_gbl_bad_type[] = "UNDEFINED";
526/* Printable names of the ACPI object types */ 522/* Printable names of the ACPI object types */
527 523
528static const char *acpi_gbl_ns_type_names[] = { 524static const char *acpi_gbl_ns_type_names[] = {
529/*! [Begin] no source code translation (keep these strings as-is) */
530 /* 00 */ "Untyped", 525 /* 00 */ "Untyped",
531 /* 01 */ "Integer", 526 /* 01 */ "Integer",
532 /* 02 */ "String", 527 /* 02 */ "String",
@@ -558,7 +553,6 @@ static const char *acpi_gbl_ns_type_names[] = {
558 /* 28 */ "Extra", 553 /* 28 */ "Extra",
559 /* 29 */ "Data", 554 /* 29 */ "Data",
560 /* 30 */ "Invalid" 555 /* 30 */ "Invalid"
561/*! [End] no source code translation !*/
562}; 556};
563 557
564char *acpi_ut_get_type_name(acpi_object_type type) 558char *acpi_ut_get_type_name(acpi_object_type type)
@@ -641,7 +635,6 @@ char *acpi_ut_get_node_name(void *object)
641/* Printable names of object descriptor types */ 635/* Printable names of object descriptor types */
642 636
643static const char *acpi_gbl_desc_type_names[] = { 637static const char *acpi_gbl_desc_type_names[] = {
644/*! [Begin] no source code translation (keep these ASL Keywords as-is) */
645 /* 00 */ "Invalid", 638 /* 00 */ "Invalid",
646 /* 01 */ "Cached", 639 /* 01 */ "Cached",
647 /* 02 */ "State-Generic", 640 /* 02 */ "State-Generic",
@@ -658,7 +651,6 @@ static const char *acpi_gbl_desc_type_names[] = {
658 /* 13 */ "Parser", 651 /* 13 */ "Parser",
659 /* 14 */ "Operand", 652 /* 14 */ "Operand",
660 /* 15 */ "Node" 653 /* 15 */ "Node"
661/*! [End] no source code translation !*/
662}; 654};
663 655
664char *acpi_ut_get_descriptor_name(void *object) 656char *acpi_ut_get_descriptor_name(void *object)
diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h
index 11e72e6cdc01..0177ed3dc807 100644
--- a/include/acpi/acconfig.h
+++ b/include/acpi/acconfig.h
@@ -63,7 +63,7 @@
63 63
64/* Current ACPICA subsystem version in YYYYMMDD format */ 64/* Current ACPICA subsystem version in YYYYMMDD format */
65 65
66#define ACPI_CA_VERSION 0x20060421 66#define ACPI_CA_VERSION 0x20060512
67 67
68/* 68/*
69 * OS name, used for the _OS object. The _OS object is essentially obsolete, 69 * OS name, used for the _OS object. The _OS object is essentially obsolete,
diff --git a/include/acpi/acdisasm.h b/include/acpi/acdisasm.h
index 6f2556582f05..9a7d6921f534 100644
--- a/include/acpi/acdisasm.h
+++ b/include/acpi/acdisasm.h
@@ -54,7 +54,11 @@
54 54
55struct acpi_external_list { 55struct acpi_external_list {
56 char *path; 56 char *path;
57 char *internal_path;
57 struct acpi_external_list *next; 58 struct acpi_external_list *next;
59 u32 value;
60 u16 length;
61 u8 type;
58}; 62};
59 63
60extern struct acpi_external_list *acpi_gbl_external_list; 64extern struct acpi_external_list *acpi_gbl_external_list;
@@ -108,6 +112,8 @@ struct acpi_dmtable_data {
108 112
109struct acpi_op_walk_info { 113struct acpi_op_walk_info {
110 u32 level; 114 u32 level;
115 u32 last_level;
116 u32 count;
111 u32 bit_offset; 117 u32 bit_offset;
112 u32 flags; 118 u32 flags;
113 struct acpi_walk_state *walk_state; 119 struct acpi_walk_state *walk_state;
@@ -390,7 +396,7 @@ acpi_dm_vendor_small_descriptor(union aml_resource *resource,
390/* 396/*
391 * dmutils 397 * dmutils
392 */ 398 */
393void acpi_dm_add_to_external_list(char *path); 399void acpi_dm_add_to_external_list(char *path, u8 type, u32 value);
394 400
395/* 401/*
396 * dmrestag 402 * dmrestag
diff --git a/include/acpi/acevents.h b/include/acpi/acevents.h
index 272bd0480ec7..234142828e1a 100644
--- a/include/acpi/acevents.h
+++ b/include/acpi/acevents.h
@@ -138,7 +138,7 @@ acpi_status
138acpi_ev_address_space_dispatch(union acpi_operand_object *region_obj, 138acpi_ev_address_space_dispatch(union acpi_operand_object *region_obj,
139 u32 function, 139 u32 function,
140 acpi_physical_address address, 140 acpi_physical_address address,
141 u32 bit_width, void *value); 141 u32 bit_width, acpi_integer * value);
142 142
143acpi_status 143acpi_status
144acpi_ev_attach_region(union acpi_operand_object *handler_obj, 144acpi_ev_attach_region(union acpi_operand_object *handler_obj,
diff --git a/include/acpi/acglobal.h b/include/acpi/acglobal.h
index 5f2daf402ee1..9297f293b2c0 100644
--- a/include/acpi/acglobal.h
+++ b/include/acpi/acglobal.h
@@ -292,14 +292,6 @@ ACPI_EXTERN u8 acpi_gbl_cm_single_step;
292 292
293/***************************************************************************** 293/*****************************************************************************
294 * 294 *
295 * Parser globals
296 *
297 ****************************************************************************/
298
299ACPI_EXTERN union acpi_parse_object *acpi_gbl_parsed_namespace_root;
300
301/*****************************************************************************
302 *
303 * Hardware globals 295 * Hardware globals
304 * 296 *
305 ****************************************************************************/ 297 ****************************************************************************/
diff --git a/include/acpi/aclocal.h b/include/acpi/aclocal.h
index 06a9bd0a9ce9..98c697e3c486 100644
--- a/include/acpi/aclocal.h
+++ b/include/acpi/aclocal.h
@@ -207,10 +207,11 @@ struct acpi_namespace_node {
207#define ANOBJ_METHOD_LOCAL 0x08 /* Node is a method local */ 207#define ANOBJ_METHOD_LOCAL 0x08 /* Node is a method local */
208#define ANOBJ_SUBTREE_HAS_INI 0x10 /* Used to optimize device initialization */ 208#define ANOBJ_SUBTREE_HAS_INI 0x10 /* Used to optimize device initialization */
209 209
210#define ANOBJ_METHOD_NO_RETVal 0x10 /* i_aSL only: Method has no return value */ 210#define ANOBJ_IS_EXTERNAL 0x08 /* i_aSL only: This object created via External() */
211#define ANOBJ_METHOD_SOME_NO_RETVal 0x20 /* i_aSL only: Method has at least one return value */ 211#define ANOBJ_METHOD_NO_RETVAL 0x10 /* i_aSL only: Method has no return value */
212#define ANOBJ_IS_BIT_OFFSet 0x40 /* i_aSL only: Reference is a bit offset */ 212#define ANOBJ_METHOD_SOME_NO_RETVAL 0x20 /* i_aSL only: Method has at least one return value */
213#define ANOBJ_IS_REFERENCed 0x80 /* i_aSL only: Object was referenced */ 213#define ANOBJ_IS_BIT_OFFSET 0x40 /* i_aSL only: Reference is a bit offset */
214#define ANOBJ_IS_REFERENCED 0x80 /* i_aSL only: Object was referenced */
214 215
215/* 216/*
216 * ACPI Table Descriptor. One per ACPI table 217 * ACPI Table Descriptor. One per ACPI table
@@ -595,6 +596,9 @@ union acpi_parse_value {
595#define ACPI_DASM_UNICODE 0x03 596#define ACPI_DASM_UNICODE 0x03
596#define ACPI_DASM_EISAID 0x04 597#define ACPI_DASM_EISAID 0x04
597#define ACPI_DASM_MATCHOP 0x05 598#define ACPI_DASM_MATCHOP 0x05
599#define ACPI_DASM_LNOT_PREFIX 0x06
600#define ACPI_DASM_LNOT_SUFFIX 0x07
601#define ACPI_DASM_IGNORE 0x08
598 602
599/* 603/*
600 * Generic operation (for example: If, While, Store) 604 * Generic operation (for example: If, While, Store)
@@ -613,7 +617,7 @@ struct acpi_parse_obj_named {
613 u32 name; /* 4-byte name or zero if no name */ 617 u32 name; /* 4-byte name or zero if no name */
614}; 618};
615 619
616/* this version is used by the i_aSL compiler only */ 620/* This version is used by the i_aSL compiler only */
617 621
618#define ACPI_MAX_PARSEOP_NAME 20 622#define ACPI_MAX_PARSEOP_NAME 20
619 623
diff --git a/include/acpi/acmacros.h b/include/acpi/acmacros.h
index b7547aba91b9..38f9aa4bef00 100644
--- a/include/acpi/acmacros.h
+++ b/include/acpi/acmacros.h
@@ -103,7 +103,7 @@
103 * printf() format helpers 103 * printf() format helpers
104 */ 104 */
105 105
106/* Split 64-bit integer into two 32-bit values. Use with %8.8X%8.8X */ 106/* Split 64-bit integer into two 32-bit values. Use with %8.8_x%8.8_x */
107 107
108#define ACPI_FORMAT_UINT64(i) ACPI_HIDWORD(i),ACPI_LODWORD(i) 108#define ACPI_FORMAT_UINT64(i) ACPI_HIDWORD(i),ACPI_LODWORD(i)
109 109
@@ -359,12 +359,12 @@
359 359
360/* Note: sizeof(acpi_native_uint) evaluates to either 2, 4, or 8 */ 360/* Note: sizeof(acpi_native_uint) evaluates to either 2, 4, or 8 */
361 361
362#define ACPI_ROUND_DOWN_to_32_bIT(a) ACPI_ROUND_DOWN(a,4) 362#define ACPI_ROUND_DOWN_TO_32BIT(a) ACPI_ROUND_DOWN(a,4)
363#define ACPI_ROUND_DOWN_to_64_bIT(a) ACPI_ROUND_DOWN(a,8) 363#define ACPI_ROUND_DOWN_TO_64BIT(a) ACPI_ROUND_DOWN(a,8)
364#define ACPI_ROUND_DOWN_TO_NATIVE_WORD(a) ACPI_ROUND_DOWN(a,sizeof(acpi_native_uint)) 364#define ACPI_ROUND_DOWN_TO_NATIVE_WORD(a) ACPI_ROUND_DOWN(a,sizeof(acpi_native_uint))
365 365
366#define ACPI_ROUND_UP_to_32_bIT(a) ACPI_ROUND_UP(a,4) 366#define ACPI_ROUND_UP_TO_32BIT(a) ACPI_ROUND_UP(a,4)
367#define ACPI_ROUND_UP_to_64_bIT(a) ACPI_ROUND_UP(a,8) 367#define ACPI_ROUND_UP_TO_64BIT(a) ACPI_ROUND_UP(a,8)
368#define ACPI_ROUND_UP_TO_NATIVE_WORD(a) ACPI_ROUND_UP(a,sizeof(acpi_native_uint)) 368#define ACPI_ROUND_UP_TO_NATIVE_WORD(a) ACPI_ROUND_UP(a,sizeof(acpi_native_uint))
369 369
370#define ACPI_ROUND_BITS_UP_TO_BYTES(a) ACPI_DIV_8((a) + 7) 370#define ACPI_ROUND_BITS_UP_TO_BYTES(a) ACPI_DIV_8((a) + 7)
diff --git a/include/acpi/acnamesp.h b/include/acpi/acnamesp.h
index 132d64af24fe..2ef8540c0fba 100644
--- a/include/acpi/acnamesp.h
+++ b/include/acpi/acnamesp.h
@@ -64,6 +64,7 @@
64#define ACPI_NS_NO_PEER_SEARCH 0x04 64#define ACPI_NS_NO_PEER_SEARCH 0x04
65#define ACPI_NS_ERROR_IF_FOUND 0x08 65#define ACPI_NS_ERROR_IF_FOUND 0x08
66#define ACPI_NS_PREFIX_IS_SCOPE 0x10 66#define ACPI_NS_PREFIX_IS_SCOPE 0x10
67#define ACPI_NS_EXTERNAL 0x20
67 68
68#define ACPI_NS_WALK_UNLOCK TRUE 69#define ACPI_NS_WALK_UNLOCK TRUE
69#define ACPI_NS_WALK_NO_UNLOCK FALSE 70#define ACPI_NS_WALK_NO_UNLOCK FALSE
diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h
index a5264fac696e..982e7ea177e3 100644
--- a/include/acpi/acpiosxf.h
+++ b/include/acpi/acpiosxf.h
@@ -50,12 +50,17 @@
50#include "platform/acenv.h" 50#include "platform/acenv.h"
51#include "actypes.h" 51#include "actypes.h"
52 52
53/* Priorities for acpi_os_queue_for_execution */ 53/* Types for acpi_os_execute */
54 54
55#define OSD_PRIORITY_GPE 1 55typedef enum {
56#define OSD_PRIORITY_HIGH 2 56 OSL_GLOBAL_LOCK_HANDLER,
57#define OSD_PRIORITY_MED 3 57 OSL_NOTIFY_HANDLER,
58#define OSD_PRIORITY_LO 4 58 OSL_GPE_HANDLER,
59 OSL_DEBUGGER_THREAD,
60 OSL_EC_POLL_HANDLER,
61 OSL_EC_BURST_HANDLER,
62
63} acpi_execute_type;
59 64
60#define ACPI_NO_UNIT_LIMIT ((u32) -1) 65#define ACPI_NO_UNIT_LIMIT ((u32) -1)
61#define ACPI_MUTEX_SEM 1 66#define ACPI_MUTEX_SEM 1
@@ -164,8 +169,8 @@ acpi_os_remove_interrupt_handler(u32 gsi, acpi_osd_handler service_routine);
164acpi_thread_id acpi_os_get_thread_id(void); 169acpi_thread_id acpi_os_get_thread_id(void);
165 170
166acpi_status 171acpi_status
167acpi_os_queue_for_execution(u32 priority, 172acpi_os_execute(acpi_execute_type type,
168 acpi_osd_exec_callback function, void *context); 173 acpi_osd_exec_callback function, void *context);
169 174
170void acpi_os_wait_events_complete(void *context); 175void acpi_os_wait_events_complete(void *context);
171 176
diff --git a/include/acpi/actbl.h b/include/acpi/actbl.h
index e1a40135f707..b125ceed9cb7 100644
--- a/include/acpi/actbl.h
+++ b/include/acpi/actbl.h
@@ -206,8 +206,8 @@ struct acpi_common_facs {
206 u32 V1_pm_tmr_blk; /* Port address of Power Mgt Timer Ctrl Reg Blk */ \ 206 u32 V1_pm_tmr_blk; /* Port address of Power Mgt Timer Ctrl Reg Blk */ \
207 u32 V1_gpe0_blk; /* Port addr of General Purpose acpi_event 0 Reg Blk */ \ 207 u32 V1_gpe0_blk; /* Port addr of General Purpose acpi_event 0 Reg Blk */ \
208 u32 V1_gpe1_blk; /* Port addr of General Purpose acpi_event 1 Reg Blk */ \ 208 u32 V1_gpe1_blk; /* Port addr of General Purpose acpi_event 1 Reg Blk */ \
209 u8 pm1_evt_len; /* Byte length of ports at pm1_x_evt_blk */ \ 209 u8 pm1_evt_len; /* Byte Length of ports at pm1_x_evt_blk */ \
210 u8 pm1_cnt_len; /* Byte length of ports at pm1_x_cnt_blk */ \ 210 u8 pm1_cnt_len; /* Byte Length of ports at pm1_x_cnt_blk */ \
211 u8 pm2_cnt_len; /* Byte Length of ports at pm2_cnt_blk */ \ 211 u8 pm2_cnt_len; /* Byte Length of ports at pm2_cnt_blk */ \
212 u8 pm_tm_len; /* Byte Length of ports at pm_tm_blk */ \ 212 u8 pm_tm_len; /* Byte Length of ports at pm_tm_blk */ \
213 u8 gpe0_blk_len; /* Byte Length of ports at gpe0_blk */ \ 213 u8 gpe0_blk_len; /* Byte Length of ports at gpe0_blk */ \
@@ -252,7 +252,7 @@ struct fadt_descriptor {
252 u8 S4rtc_sts_valid:1; /* 16: Contents of RTC_STS valid after S4 wake (ACPI 3.0) */ 252 u8 S4rtc_sts_valid:1; /* 16: Contents of RTC_STS valid after S4 wake (ACPI 3.0) */
253 u8 remote_power_on_capable:1; /* 17: System is compatible with remote power on (ACPI 3.0) */ 253 u8 remote_power_on_capable:1; /* 17: System is compatible with remote power on (ACPI 3.0) */
254 u8 force_apic_cluster_model:1; /* 18: All local APICs must use cluster model (ACPI 3.0) */ 254 u8 force_apic_cluster_model:1; /* 18: All local APICs must use cluster model (ACPI 3.0) */
255 u8 force_apic_physical_destination_mode:1; /* 19: all local x_aPICs must use physical dest mode (ACPI 3.0) */ 255 u8 force_apic_physical_destination_mode:1; /* 19: All local x_aPICs must use physical dest mode (ACPI 3.0) */
256 u8:4; /* 20-23: Reserved, must be zero */ 256 u8:4; /* 20-23: Reserved, must be zero */
257 u8 reserved3; /* 24-31: Reserved, must be zero */ 257 u8 reserved3; /* 24-31: Reserved, must be zero */
258 258
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index 6d4e743a753b..77cf1236b05a 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -971,7 +971,7 @@ struct acpi_mem_space_context {
971 * Definitions for Resource Attributes 971 * Definitions for Resource Attributes
972 */ 972 */
973typedef u16 acpi_rs_length; /* Resource Length field is fixed at 16 bits */ 973typedef u16 acpi_rs_length; /* Resource Length field is fixed at 16 bits */
974typedef u32 acpi_rsdesc_size; /* Max Resource Descriptor size is (length+3) = (64_k-1)+3 */ 974typedef u32 acpi_rsdesc_size; /* Max Resource Descriptor size is (Length+3) = (64_k-1)+3 */
975 975
976/* 976/*
977 * Memory Attributes 977 * Memory Attributes
@@ -986,8 +986,8 @@ typedef u32 acpi_rsdesc_size; /* Max Resource Descriptor size is (length+3) = (6
986 986
987/* 987/*
988 * IO Attributes 988 * IO Attributes
989 * The ISA Io ranges are: n000-n0_ffh, n400-n4_ffh, n800-n8_ffh, n_c00-n_cFFh. 989 * The ISA IO ranges are: n000-n0_fFh, n400-n4_fFh, n800-n8_fFh, n_c00-n_cFFh.
990 * The non-ISA Io ranges are: n100-n3_ffh, n500-n7_ffh, n900-n_bFfh, n_cd0-n_fFFh. 990 * The non-ISA IO ranges are: n100-n3_fFh, n500-n7_fFh, n900-n_bFFh, n_cd0-n_fFFh.
991 */ 991 */
992#define ACPI_NON_ISA_ONLY_RANGES (u8) 0x01 992#define ACPI_NON_ISA_ONLY_RANGES (u8) 0x01
993#define ACPI_ISA_ONLY_RANGES (u8) 0x02 993#define ACPI_ISA_ONLY_RANGES (u8) 0x02
diff --git a/include/acpi/amlcode.h b/include/acpi/amlcode.h
index 37964a59aef8..cf18426a87b1 100644
--- a/include/acpi/amlcode.h
+++ b/include/acpi/amlcode.h
@@ -180,8 +180,10 @@
180#define AML_BANK_FIELD_OP (u16) 0x5b87 180#define AML_BANK_FIELD_OP (u16) 0x5b87
181#define AML_DATA_REGION_OP (u16) 0x5b88 /* ACPI 2.0 */ 181#define AML_DATA_REGION_OP (u16) 0x5b88 /* ACPI 2.0 */
182 182
183/* Bogus opcodes (they are actually two separate opcodes) */ 183/*
184 184 * Combination opcodes (actually two one-byte opcodes)
185 * Used by the disassembler and i_aSL compiler
186 */
185#define AML_LGREATEREQUAL_OP (u16) 0x9295 187#define AML_LGREATEREQUAL_OP (u16) 0x9295
186#define AML_LLESSEQUAL_OP (u16) 0x9294 188#define AML_LLESSEQUAL_OP (u16) 0x9294
187#define AML_LNOTEQUAL_OP (u16) 0x9293 189#define AML_LNOTEQUAL_OP (u16) 0x9293
diff --git a/include/acpi/amlresrc.h b/include/acpi/amlresrc.h
index 64736860bdd5..be03818af9d1 100644
--- a/include/acpi/amlresrc.h
+++ b/include/acpi/amlresrc.h
@@ -47,8 +47,6 @@
47#ifndef __AMLRESRC_H 47#ifndef __AMLRESRC_H
48#define __AMLRESRC_H 48#define __AMLRESRC_H
49 49
50/*! [Begin] no source code translation */
51
52/* 50/*
53 * Resource descriptor tags, as defined in the ACPI specification. 51 * Resource descriptor tags, as defined in the ACPI specification.
54 * Used to symbolically reference fields within a descriptor. 52 * Used to symbolically reference fields within a descriptor.
@@ -65,12 +63,12 @@
65#define ACPI_RESTAG_DMATYPE "_TYP" /* Compatible(0), A(1), B(2), F(3) */ 63#define ACPI_RESTAG_DMATYPE "_TYP" /* Compatible(0), A(1), B(2), F(3) */
66#define ACPI_RESTAG_GRANULARITY "_GRA" 64#define ACPI_RESTAG_GRANULARITY "_GRA"
67#define ACPI_RESTAG_INTERRUPT "_INT" 65#define ACPI_RESTAG_INTERRUPT "_INT"
68#define ACPI_RESTAG_INTERRUPTLEVEL "_LL_" /* ActiveLo(1), ActiveHi(0) */ 66#define ACPI_RESTAG_INTERRUPTLEVEL "_LL_" /* active_lo(1), active_hi(0) */
69#define ACPI_RESTAG_INTERRUPTSHARE "_SHR" /* Shareable(1), NoShare(0) */ 67#define ACPI_RESTAG_INTERRUPTSHARE "_SHR" /* Shareable(1), no_share(0) */
70#define ACPI_RESTAG_INTERRUPTTYPE "_HE_" /* Edge(1), Level(0) */ 68#define ACPI_RESTAG_INTERRUPTTYPE "_HE_" /* Edge(1), Level(0) */
71#define ACPI_RESTAG_LENGTH "_LEN" 69#define ACPI_RESTAG_LENGTH "_LEN"
72#define ACPI_RESTAG_MEMATTRIBUTES "_MTP" /* Memory(0), Reserved(1), ACPI(2), NVS(3) */ 70#define ACPI_RESTAG_MEMATTRIBUTES "_MTP" /* Memory(0), Reserved(1), ACPI(2), NVS(3) */
73#define ACPI_RESTAG_MEMTYPE "_MEM" /* NonCache(0), Cacheable(1) Cache+combine(2), Cache+prefetch(3) */ 71#define ACPI_RESTAG_MEMTYPE "_MEM" /* non_cache(0), Cacheable(1) Cache+combine(2), Cache+prefetch(3) */
74#define ACPI_RESTAG_MAXADDR "_MAX" 72#define ACPI_RESTAG_MAXADDR "_MAX"
75#define ACPI_RESTAG_MINADDR "_MIN" 73#define ACPI_RESTAG_MINADDR "_MIN"
76#define ACPI_RESTAG_MAXTYPE "_MAF" 74#define ACPI_RESTAG_MAXTYPE "_MAF"
@@ -78,12 +76,11 @@
78#define ACPI_RESTAG_REGISTERBITOFFSET "_RBO" 76#define ACPI_RESTAG_REGISTERBITOFFSET "_RBO"
79#define ACPI_RESTAG_REGISTERBITWIDTH "_RBW" 77#define ACPI_RESTAG_REGISTERBITWIDTH "_RBW"
80#define ACPI_RESTAG_RANGETYPE "_RNG" 78#define ACPI_RESTAG_RANGETYPE "_RNG"
81#define ACPI_RESTAG_READWRITETYPE "_RW_" /* ReadOnly(0), Writeable (1) */ 79#define ACPI_RESTAG_READWRITETYPE "_RW_" /* read_only(0), Writeable (1) */
82#define ACPI_RESTAG_TRANSLATION "_TRA" 80#define ACPI_RESTAG_TRANSLATION "_TRA"
83#define ACPI_RESTAG_TRANSTYPE "_TRS" /* Sparse(1), Dense(0) */ 81#define ACPI_RESTAG_TRANSTYPE "_TRS" /* Sparse(1), Dense(0) */
84#define ACPI_RESTAG_TYPE "_TTP" /* Translation(1), Static (0) */ 82#define ACPI_RESTAG_TYPE "_TTP" /* Translation(1), Static (0) */
85#define ACPI_RESTAG_XFERTYPE "_SIZ" /* 8(0), 8And16(1), 16(2) */ 83#define ACPI_RESTAG_XFERTYPE "_SIZ" /* 8(0), 8_and16(1), 16(2) */
86/*! [End] no source code translation !*/
87 84
88/* Default sizes for "small" resource descriptors */ 85/* Default sizes for "small" resource descriptors */
89 86
@@ -306,9 +303,9 @@ union aml_resource {
306 /* Utility overlays */ 303 /* Utility overlays */
307 304
308 struct aml_resource_address address; 305 struct aml_resource_address address;
309 u32 u32_item; 306 u32 dword_item;
310 u16 u16_item; 307 u16 word_item;
311 u8 U8item; 308 u8 byte_item;
312}; 309};
313 310
314#endif 311#endif