diff options
-rw-r--r-- | drivers/acpi/events/evevent.c | 14 | ||||
-rw-r--r-- | drivers/acpi/events/evgpe.c | 36 | ||||
-rw-r--r-- | drivers/acpi/events/evgpeblk.c | 38 | ||||
-rw-r--r-- | drivers/acpi/events/evmisc.c | 29 | ||||
-rw-r--r-- | drivers/acpi/events/evregion.c | 133 | ||||
-rw-r--r-- | drivers/acpi/events/evrgnini.c | 41 | ||||
-rw-r--r-- | drivers/acpi/events/evsci.c | 10 | ||||
-rw-r--r-- | drivers/acpi/events/evxface.c | 2 | ||||
-rw-r--r-- | drivers/acpi/events/evxfevnt.c | 12 |
9 files changed, 152 insertions, 163 deletions
diff --git a/drivers/acpi/events/evevent.c b/drivers/acpi/events/evevent.c index c56c5c6ea77b..6ddf938290f1 100644 --- a/drivers/acpi/events/evevent.c +++ b/drivers/acpi/events/evevent.c | |||
@@ -72,8 +72,8 @@ acpi_status acpi_ev_initialize_events(void) | |||
72 | 72 | ||
73 | /* | 73 | /* |
74 | * Initialize the Fixed and General Purpose Events. This is done prior to | 74 | * Initialize the Fixed and General Purpose Events. This is done prior to |
75 | * enabling SCIs to prevent interrupts from occurring before the handlers are | 75 | * enabling SCIs to prevent interrupts from occurring before the handlers |
76 | * installed. | 76 | * are installed. |
77 | */ | 77 | */ |
78 | status = acpi_ev_fixed_event_initialize(); | 78 | status = acpi_ev_fixed_event_initialize(); |
79 | if (ACPI_FAILURE(status)) { | 79 | if (ACPI_FAILURE(status)) { |
@@ -192,8 +192,8 @@ static acpi_status acpi_ev_fixed_event_initialize(void) | |||
192 | acpi_status status; | 192 | acpi_status status; |
193 | 193 | ||
194 | /* | 194 | /* |
195 | * Initialize the structure that keeps track of fixed event handlers | 195 | * Initialize the structure that keeps track of fixed event handlers and |
196 | * and enable the fixed events. | 196 | * enable the fixed events. |
197 | */ | 197 | */ |
198 | for (i = 0; i < ACPI_NUM_FIXED_EVENTS; i++) { | 198 | for (i = 0; i < ACPI_NUM_FIXED_EVENTS; i++) { |
199 | acpi_gbl_fixed_event_handlers[i].handler = NULL; | 199 | acpi_gbl_fixed_event_handlers[i].handler = NULL; |
@@ -237,7 +237,7 @@ u32 acpi_ev_fixed_event_detect(void) | |||
237 | 237 | ||
238 | /* | 238 | /* |
239 | * Read the fixed feature status and enable registers, as all the cases | 239 | * Read the fixed feature status and enable registers, as all the cases |
240 | * depend on their values. Ignore errors here. | 240 | * depend on their values. Ignore errors here. |
241 | */ | 241 | */ |
242 | (void)acpi_hw_register_read(ACPI_REGISTER_PM1_STATUS, &fixed_status); | 242 | (void)acpi_hw_register_read(ACPI_REGISTER_PM1_STATUS, &fixed_status); |
243 | (void)acpi_hw_register_read(ACPI_REGISTER_PM1_ENABLE, &fixed_enable); | 243 | (void)acpi_hw_register_read(ACPI_REGISTER_PM1_ENABLE, &fixed_enable); |
@@ -291,8 +291,8 @@ static u32 acpi_ev_fixed_event_dispatch(u32 event) | |||
291 | status_register_id, 1); | 291 | status_register_id, 1); |
292 | 292 | ||
293 | /* | 293 | /* |
294 | * Make sure we've got a handler. If not, report an error. | 294 | * Make sure we've got a handler. If not, report an error. The event is |
295 | * The event is disabled to prevent further interrupts. | 295 | * disabled to prevent further interrupts. |
296 | */ | 296 | */ |
297 | if (NULL == acpi_gbl_fixed_event_handlers[event].handler) { | 297 | if (NULL == acpi_gbl_fixed_event_handlers[event].handler) { |
298 | (void)acpi_set_register(acpi_gbl_fixed_event_info[event]. | 298 | (void)acpi_set_register(acpi_gbl_fixed_event_info[event]. |
diff --git a/drivers/acpi/events/evgpe.c b/drivers/acpi/events/evgpe.c index f45c74fe745e..12b49d312ad3 100644 --- a/drivers/acpi/events/evgpe.c +++ b/drivers/acpi/events/evgpe.c | |||
@@ -125,7 +125,7 @@ acpi_ev_update_gpe_enable_masks(struct acpi_gpe_event_info *gpe_event_info, | |||
125 | (1 << | 125 | (1 << |
126 | (gpe_event_info->gpe_number - gpe_register_info->base_gpe_number)); | 126 | (gpe_event_info->gpe_number - gpe_register_info->base_gpe_number)); |
127 | 127 | ||
128 | /* 1) Disable case. Simply clear all enable bits */ | 128 | /* 1) Disable case. Simply clear all enable bits */ |
129 | 129 | ||
130 | if (type == ACPI_GPE_DISABLE) { | 130 | if (type == ACPI_GPE_DISABLE) { |
131 | ACPI_CLEAR_BIT(gpe_register_info->enable_for_wake, | 131 | ACPI_CLEAR_BIT(gpe_register_info->enable_for_wake, |
@@ -134,7 +134,7 @@ acpi_ev_update_gpe_enable_masks(struct acpi_gpe_event_info *gpe_event_info, | |||
134 | return_ACPI_STATUS(AE_OK); | 134 | return_ACPI_STATUS(AE_OK); |
135 | } | 135 | } |
136 | 136 | ||
137 | /* 2) Enable case. Set/Clear the appropriate enable bits */ | 137 | /* 2) Enable case. Set/Clear the appropriate enable bits */ |
138 | 138 | ||
139 | switch (gpe_event_info->flags & ACPI_GPE_TYPE_MASK) { | 139 | switch (gpe_event_info->flags & ACPI_GPE_TYPE_MASK) { |
140 | case ACPI_GPE_TYPE_WAKE: | 140 | case ACPI_GPE_TYPE_WAKE: |
@@ -295,7 +295,7 @@ acpi_status acpi_ev_disable_gpe(struct acpi_gpe_event_info *gpe_event_info) | |||
295 | * | 295 | * |
296 | * FUNCTION: acpi_ev_get_gpe_event_info | 296 | * FUNCTION: acpi_ev_get_gpe_event_info |
297 | * | 297 | * |
298 | * PARAMETERS: gpe_device - Device node. NULL for GPE0/GPE1 | 298 | * PARAMETERS: gpe_device - Device node. NULL for GPE0/GPE1 |
299 | * gpe_number - Raw GPE number | 299 | * gpe_number - Raw GPE number |
300 | * | 300 | * |
301 | * RETURN: A GPE event_info struct. NULL if not a valid GPE | 301 | * RETURN: A GPE event_info struct. NULL if not a valid GPE |
@@ -372,7 +372,7 @@ struct acpi_gpe_event_info *acpi_ev_get_gpe_event_info(acpi_handle gpe_device, | |||
372 | * | 372 | * |
373 | * RETURN: INTERRUPT_HANDLED or INTERRUPT_NOT_HANDLED | 373 | * RETURN: INTERRUPT_HANDLED or INTERRUPT_NOT_HANDLED |
374 | * | 374 | * |
375 | * DESCRIPTION: Detect if any GP events have occurred. This function is | 375 | * DESCRIPTION: Detect if any GP events have occurred. This function is |
376 | * executed at interrupt level. | 376 | * executed at interrupt level. |
377 | * | 377 | * |
378 | ******************************************************************************/ | 378 | ******************************************************************************/ |
@@ -400,8 +400,8 @@ u32 acpi_ev_gpe_detect(struct acpi_gpe_xrupt_info * gpe_xrupt_list) | |||
400 | 400 | ||
401 | /* | 401 | /* |
402 | * We need to obtain the GPE lock for both the data structs and registers | 402 | * We need to obtain the GPE lock for both the data structs and registers |
403 | * Note: Not necessary to obtain the hardware lock, since the GPE registers | 403 | * Note: Not necessary to obtain the hardware lock, since the GPE |
404 | * are owned by the gpe_lock. | 404 | * registers are owned by the gpe_lock. |
405 | */ | 405 | */ |
406 | flags = acpi_os_acquire_lock(acpi_gbl_gpe_lock); | 406 | flags = acpi_os_acquire_lock(acpi_gbl_gpe_lock); |
407 | 407 | ||
@@ -410,9 +410,8 @@ u32 acpi_ev_gpe_detect(struct acpi_gpe_xrupt_info * gpe_xrupt_list) | |||
410 | gpe_block = gpe_xrupt_list->gpe_block_list_head; | 410 | gpe_block = gpe_xrupt_list->gpe_block_list_head; |
411 | while (gpe_block) { | 411 | while (gpe_block) { |
412 | /* | 412 | /* |
413 | * Read all of the 8-bit GPE status and enable registers | 413 | * Read all of the 8-bit GPE status and enable registers in this GPE |
414 | * in this GPE block, saving all of them. | 414 | * block, saving all of them. Find all currently active GP events. |
415 | * Find all currently active GP events. | ||
416 | */ | 415 | */ |
417 | for (i = 0; i < gpe_block->register_count; i++) { | 416 | for (i = 0; i < gpe_block->register_count; i++) { |
418 | 417 | ||
@@ -527,8 +526,8 @@ static void ACPI_SYSTEM_XFACE acpi_ev_asynch_execute_gpe_method(void *context) | |||
527 | (void)acpi_ev_enable_gpe(gpe_event_info, FALSE); | 526 | (void)acpi_ev_enable_gpe(gpe_event_info, FALSE); |
528 | 527 | ||
529 | /* | 528 | /* |
530 | * Take a snapshot of the GPE info for this level - we copy the | 529 | * Take a snapshot of the GPE info for this level - we copy the info to |
531 | * info to prevent a race condition with remove_handler/remove_block. | 530 | * prevent a race condition with remove_handler/remove_block. |
532 | */ | 531 | */ |
533 | ACPI_MEMCPY(&local_gpe_event_info, gpe_event_info, | 532 | ACPI_MEMCPY(&local_gpe_event_info, gpe_event_info, |
534 | sizeof(struct acpi_gpe_event_info)); | 533 | sizeof(struct acpi_gpe_event_info)); |
@@ -539,8 +538,8 @@ static void ACPI_SYSTEM_XFACE acpi_ev_asynch_execute_gpe_method(void *context) | |||
539 | } | 538 | } |
540 | 539 | ||
541 | /* | 540 | /* |
542 | * Must check for control method type dispatch one more | 541 | * Must check for control method type dispatch one more time to avoid a |
543 | * time to avoid race with ev_gpe_install_handler | 542 | * race with ev_gpe_install_handler |
544 | */ | 543 | */ |
545 | if ((local_gpe_event_info.flags & ACPI_GPE_DISPATCH_MASK) == | 544 | if ((local_gpe_event_info.flags & ACPI_GPE_DISPATCH_MASK) == |
546 | ACPI_GPE_DISPATCH_METHOD) { | 545 | ACPI_GPE_DISPATCH_METHOD) { |
@@ -584,8 +583,8 @@ static void acpi_ev_asynch_enable_gpe(void *context) | |||
584 | if ((gpe_event_info->flags & ACPI_GPE_XRUPT_TYPE_MASK) == | 583 | if ((gpe_event_info->flags & ACPI_GPE_XRUPT_TYPE_MASK) == |
585 | ACPI_GPE_LEVEL_TRIGGERED) { | 584 | ACPI_GPE_LEVEL_TRIGGERED) { |
586 | /* | 585 | /* |
587 | * GPE is level-triggered, we clear the GPE status bit after | 586 | * GPE is level-triggered, we clear the GPE status bit after handling |
588 | * handling the event. | 587 | * the event. |
589 | */ | 588 | */ |
590 | status = acpi_hw_clear_gpe(gpe_event_info); | 589 | status = acpi_hw_clear_gpe(gpe_event_info); |
591 | if (ACPI_FAILURE(status)) { | 590 | if (ACPI_FAILURE(status)) { |
@@ -624,7 +623,7 @@ acpi_ev_gpe_dispatch(struct acpi_gpe_event_info *gpe_event_info, u32 gpe_number) | |||
624 | acpi_os_gpe_count(gpe_number); | 623 | acpi_os_gpe_count(gpe_number); |
625 | 624 | ||
626 | /* | 625 | /* |
627 | * If edge-triggered, clear the GPE status bit now. Note that | 626 | * If edge-triggered, clear the GPE status bit now. Note that |
628 | * level-triggered events are cleared after the GPE is serviced. | 627 | * level-triggered events are cleared after the GPE is serviced. |
629 | */ | 628 | */ |
630 | if ((gpe_event_info->flags & ACPI_GPE_XRUPT_TYPE_MASK) == | 629 | if ((gpe_event_info->flags & ACPI_GPE_XRUPT_TYPE_MASK) == |
@@ -650,7 +649,8 @@ acpi_ev_gpe_dispatch(struct acpi_gpe_event_info *gpe_event_info, u32 gpe_number) | |||
650 | 649 | ||
651 | /* | 650 | /* |
652 | * Invoke the installed handler (at interrupt level) | 651 | * Invoke the installed handler (at interrupt level) |
653 | * Ignore return status for now. TBD: leave GPE disabled on error? | 652 | * Ignore return status for now. |
653 | * TBD: leave GPE disabled on error? | ||
654 | */ | 654 | */ |
655 | (void)gpe_event_info->dispatch.handler->address(gpe_event_info-> | 655 | (void)gpe_event_info->dispatch.handler->address(gpe_event_info-> |
656 | dispatch. | 656 | dispatch. |
@@ -708,7 +708,7 @@ acpi_ev_gpe_dispatch(struct acpi_gpe_event_info *gpe_event_info, u32 gpe_number) | |||
708 | gpe_number)); | 708 | gpe_number)); |
709 | 709 | ||
710 | /* | 710 | /* |
711 | * Disable the GPE. The GPE will remain disabled until the ACPI | 711 | * Disable the GPE. The GPE will remain disabled until the ACPICA |
712 | * Core Subsystem is restarted, or a handler is installed. | 712 | * Core Subsystem is restarted, or a handler is installed. |
713 | */ | 713 | */ |
714 | status = acpi_ev_disable_gpe(gpe_event_info); | 714 | status = acpi_ev_disable_gpe(gpe_event_info); |
diff --git a/drivers/acpi/events/evgpeblk.c b/drivers/acpi/events/evgpeblk.c index 73c058e2f5c2..7537cda54050 100644 --- a/drivers/acpi/events/evgpeblk.c +++ b/drivers/acpi/events/evgpeblk.c | |||
@@ -309,17 +309,17 @@ acpi_ev_save_method_info(acpi_handle obj_handle, | |||
309 | (gpe_block->block_base_number + | 309 | (gpe_block->block_base_number + |
310 | (gpe_block->register_count * 8)))) { | 310 | (gpe_block->register_count * 8)))) { |
311 | /* | 311 | /* |
312 | * Not valid for this GPE block, just ignore it | 312 | * Not valid for this GPE block, just ignore it. However, it may be |
313 | * However, it may be valid for a different GPE block, since GPE0 and GPE1 | 313 | * valid for a different GPE block, since GPE0 and GPE1 methods both |
314 | * methods both appear under \_GPE. | 314 | * appear under \_GPE. |
315 | */ | 315 | */ |
316 | return_ACPI_STATUS(AE_OK); | 316 | return_ACPI_STATUS(AE_OK); |
317 | } | 317 | } |
318 | 318 | ||
319 | /* | 319 | /* |
320 | * Now we can add this information to the gpe_event_info block | 320 | * Now we can add this information to the gpe_event_info block for use |
321 | * for use during dispatch of this GPE. Default type is RUNTIME, although | 321 | * during dispatch of this GPE. Default type is RUNTIME, although this may |
322 | * this may change when the _PRW methods are executed later. | 322 | * change when the _PRW methods are executed later. |
323 | */ | 323 | */ |
324 | gpe_event_info = | 324 | gpe_event_info = |
325 | &gpe_block->event_info[gpe_number - gpe_block->block_base_number]; | 325 | &gpe_block->event_info[gpe_number - gpe_block->block_base_number]; |
@@ -394,8 +394,8 @@ acpi_ev_match_prw_and_gpe(acpi_handle obj_handle, | |||
394 | gpe_block = gpe_info->gpe_block; | 394 | gpe_block = gpe_info->gpe_block; |
395 | 395 | ||
396 | /* | 396 | /* |
397 | * The _PRW object must return a package, we are only interested | 397 | * The _PRW object must return a package, we are only interested in the |
398 | * in the first element | 398 | * first element |
399 | */ | 399 | */ |
400 | obj_desc = pkg_desc->package.elements[0]; | 400 | obj_desc = pkg_desc->package.elements[0]; |
401 | 401 | ||
@@ -434,7 +434,7 @@ acpi_ev_match_prw_and_gpe(acpi_handle obj_handle, | |||
434 | /* | 434 | /* |
435 | * Is this GPE within this block? | 435 | * Is this GPE within this block? |
436 | * | 436 | * |
437 | * TRUE iff these conditions are true: | 437 | * TRUE if and only if these conditions are true: |
438 | * 1) The GPE devices match. | 438 | * 1) The GPE devices match. |
439 | * 2) The GPE index(number) is within the range of the Gpe Block | 439 | * 2) The GPE index(number) is within the range of the Gpe Block |
440 | * associated with the GPE device. | 440 | * associated with the GPE device. |
@@ -457,6 +457,7 @@ acpi_ev_match_prw_and_gpe(acpi_handle obj_handle, | |||
457 | if (ACPI_FAILURE(status)) { | 457 | if (ACPI_FAILURE(status)) { |
458 | goto cleanup; | 458 | goto cleanup; |
459 | } | 459 | } |
460 | |||
460 | status = | 461 | status = |
461 | acpi_ev_update_gpe_enable_masks(gpe_event_info, | 462 | acpi_ev_update_gpe_enable_masks(gpe_event_info, |
462 | ACPI_GPE_DISABLE); | 463 | ACPI_GPE_DISABLE); |
@@ -476,9 +477,9 @@ acpi_ev_match_prw_and_gpe(acpi_handle obj_handle, | |||
476 | * RETURN: A GPE interrupt block | 477 | * RETURN: A GPE interrupt block |
477 | * | 478 | * |
478 | * DESCRIPTION: Get or Create a GPE interrupt block. There is one interrupt | 479 | * DESCRIPTION: Get or Create a GPE interrupt block. There is one interrupt |
479 | * block per unique interrupt level used for GPEs. | 480 | * block per unique interrupt level used for GPEs. Should be |
480 | * Should be called only when the GPE lists are semaphore locked | 481 | * called only when the GPE lists are semaphore locked and not |
481 | * and not subject to change. | 482 | * subject to change. |
482 | * | 483 | * |
483 | ******************************************************************************/ | 484 | ******************************************************************************/ |
484 | 485 | ||
@@ -608,8 +609,9 @@ acpi_ev_delete_gpe_xrupt(struct acpi_gpe_xrupt_info *gpe_xrupt) | |||
608 | * | 609 | * |
609 | * FUNCTION: acpi_ev_install_gpe_block | 610 | * FUNCTION: acpi_ev_install_gpe_block |
610 | * | 611 | * |
611 | * PARAMETERS: gpe_block - New GPE block | 612 | * PARAMETERS: gpe_block - New GPE block |
612 | * interrupt_number - Xrupt to be associated with this GPE block | 613 | * interrupt_number - Xrupt to be associated with this |
614 | * GPE block | ||
613 | * | 615 | * |
614 | * RETURN: Status | 616 | * RETURN: Status |
615 | * | 617 | * |
@@ -666,7 +668,7 @@ acpi_ev_install_gpe_block(struct acpi_gpe_block_info *gpe_block, | |||
666 | * | 668 | * |
667 | * FUNCTION: acpi_ev_delete_gpe_block | 669 | * FUNCTION: acpi_ev_delete_gpe_block |
668 | * | 670 | * |
669 | * PARAMETERS: gpe_block - Existing GPE block | 671 | * PARAMETERS: gpe_block - Existing GPE block |
670 | * | 672 | * |
671 | * RETURN: Status | 673 | * RETURN: Status |
672 | * | 674 | * |
@@ -786,9 +788,9 @@ acpi_ev_create_gpe_info_blocks(struct acpi_gpe_block_info *gpe_block) | |||
786 | 788 | ||
787 | /* | 789 | /* |
788 | * Initialize the GPE Register and Event structures. A goal of these | 790 | * Initialize the GPE Register and Event structures. A goal of these |
789 | * tables is to hide the fact that there are two separate GPE register sets | 791 | * tables is to hide the fact that there are two separate GPE register |
790 | * in a given GPE hardware block, the status registers occupy the first half, | 792 | * sets in a given GPE hardware block, the status registers occupy the |
791 | * and the enable registers occupy the second half. | 793 | * first half, and the enable registers occupy the second half. |
792 | */ | 794 | */ |
793 | this_register = gpe_register_info; | 795 | this_register = gpe_register_info; |
794 | this_event = gpe_event_info; | 796 | this_event = gpe_event_info; |
diff --git a/drivers/acpi/events/evmisc.c b/drivers/acpi/events/evmisc.c index 82c457fa5a1f..dbac5b3248a0 100644 --- a/drivers/acpi/events/evmisc.c +++ b/drivers/acpi/events/evmisc.c | |||
@@ -148,7 +148,9 @@ acpi_ev_queue_notify_request(struct acpi_namespace_node * node, | |||
148 | break; | 148 | break; |
149 | 149 | ||
150 | default: | 150 | default: |
151 | |||
151 | /* All other types are not supported */ | 152 | /* All other types are not supported */ |
153 | |||
152 | return (AE_TYPE); | 154 | return (AE_TYPE); |
153 | } | 155 | } |
154 | } | 156 | } |
@@ -189,9 +191,8 @@ acpi_ev_queue_notify_request(struct acpi_namespace_node * node, | |||
189 | acpi_ut_delete_generic_state(notify_info); | 191 | acpi_ut_delete_generic_state(notify_info); |
190 | } | 192 | } |
191 | } else { | 193 | } else { |
192 | /* | 194 | /* There is no notify handler (per-device or system) for this device */ |
193 | * There is no notify handler (per-device or system) for this device. | 195 | |
194 | */ | ||
195 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, | 196 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, |
196 | "No notify handler for Notify (%4.4s, %X) node %p\n", | 197 | "No notify handler for Notify (%4.4s, %X) node %p\n", |
197 | acpi_ut_get_node_name(node), notify_value, | 198 | acpi_ut_get_node_name(node), notify_value, |
@@ -225,9 +226,8 @@ static void ACPI_SYSTEM_XFACE acpi_ev_notify_dispatch(void *context) | |||
225 | ACPI_FUNCTION_ENTRY(); | 226 | ACPI_FUNCTION_ENTRY(); |
226 | 227 | ||
227 | /* | 228 | /* |
228 | * We will invoke a global notify handler if installed. | 229 | * We will invoke a global notify handler if installed. This is done |
229 | * This is done _before_ we invoke the per-device handler attached | 230 | * _before_ we invoke the per-device handler attached to the device. |
230 | * to the device. | ||
231 | */ | 231 | */ |
232 | if (notify_info->notify.value <= ACPI_MAX_SYS_NOTIFY) { | 232 | if (notify_info->notify.value <= ACPI_MAX_SYS_NOTIFY) { |
233 | 233 | ||
@@ -339,11 +339,10 @@ acpi_status acpi_ev_init_global_lock_handler(void) | |||
339 | NULL); | 339 | NULL); |
340 | 340 | ||
341 | /* | 341 | /* |
342 | * If the global lock does not exist on this platform, the attempt | 342 | * If the global lock does not exist on this platform, the attempt to |
343 | * to enable GBL_STATUS will fail (the GBL_ENABLE bit will not stick) | 343 | * enable GBL_STATUS will fail (the GBL_ENABLE bit will not stick). |
344 | * Map to AE_OK, but mark global lock as not present. | 344 | * Map to AE_OK, but mark global lock as not present. Any attempt to |
345 | * Any attempt to actually use the global lock will be flagged | 345 | * actually use the global lock will be flagged with an error. |
346 | * with an error. | ||
347 | */ | 346 | */ |
348 | if (status == AE_NO_HARDWARE_RESPONSE) { | 347 | if (status == AE_NO_HARDWARE_RESPONSE) { |
349 | ACPI_ERROR((AE_INFO, | 348 | ACPI_ERROR((AE_INFO, |
@@ -452,8 +451,8 @@ acpi_status acpi_ev_acquire_global_lock(u16 timeout) | |||
452 | } | 451 | } |
453 | 452 | ||
454 | /* | 453 | /* |
455 | * Make sure that a global lock actually exists. If not, just treat | 454 | * Make sure that a global lock actually exists. If not, just treat the |
456 | * the lock as a standard mutex. | 455 | * lock as a standard mutex. |
457 | */ | 456 | */ |
458 | if (!acpi_gbl_global_lock_present) { | 457 | if (!acpi_gbl_global_lock_present) { |
459 | acpi_gbl_global_lock_acquired = TRUE; | 458 | acpi_gbl_global_lock_acquired = TRUE; |
@@ -572,8 +571,8 @@ void acpi_ev_terminate(void) | |||
572 | 571 | ||
573 | if (acpi_gbl_events_initialized) { | 572 | if (acpi_gbl_events_initialized) { |
574 | /* | 573 | /* |
575 | * Disable all event-related functionality. | 574 | * Disable all event-related functionality. In all cases, on error, |
576 | * In all cases, on error, print a message but obviously we don't abort. | 575 | * print a message but obviously we don't abort. |
577 | */ | 576 | */ |
578 | 577 | ||
579 | /* Disable all fixed events */ | 578 | /* Disable all fixed events */ |
diff --git a/drivers/acpi/events/evregion.c b/drivers/acpi/events/evregion.c index 236fbd1ca438..3ddddbfa8db7 100644 --- a/drivers/acpi/events/evregion.c +++ b/drivers/acpi/events/evregion.c | |||
@@ -48,16 +48,8 @@ | |||
48 | 48 | ||
49 | #define _COMPONENT ACPI_EVENTS | 49 | #define _COMPONENT ACPI_EVENTS |
50 | ACPI_MODULE_NAME("evregion") | 50 | ACPI_MODULE_NAME("evregion") |
51 | #define ACPI_NUM_DEFAULT_SPACES 4 | ||
52 | static u8 acpi_gbl_default_address_spaces[ACPI_NUM_DEFAULT_SPACES] = { | ||
53 | ACPI_ADR_SPACE_SYSTEM_MEMORY, | ||
54 | ACPI_ADR_SPACE_SYSTEM_IO, | ||
55 | ACPI_ADR_SPACE_PCI_CONFIG, | ||
56 | ACPI_ADR_SPACE_DATA_TABLE | ||
57 | }; | ||
58 | 51 | ||
59 | /* Local prototypes */ | 52 | /* Local prototypes */ |
60 | |||
61 | static acpi_status | 53 | static acpi_status |
62 | acpi_ev_reg_run(acpi_handle obj_handle, | 54 | acpi_ev_reg_run(acpi_handle obj_handle, |
63 | u32 level, void *context, void **return_value); | 55 | u32 level, void *context, void **return_value); |
@@ -66,6 +58,17 @@ static acpi_status | |||
66 | acpi_ev_install_handler(acpi_handle obj_handle, | 58 | acpi_ev_install_handler(acpi_handle obj_handle, |
67 | u32 level, void *context, void **return_value); | 59 | u32 level, void *context, void **return_value); |
68 | 60 | ||
61 | /* These are the address spaces that will get default handlers */ | ||
62 | |||
63 | #define ACPI_NUM_DEFAULT_SPACES 4 | ||
64 | |||
65 | static u8 acpi_gbl_default_address_spaces[ACPI_NUM_DEFAULT_SPACES] = { | ||
66 | ACPI_ADR_SPACE_SYSTEM_MEMORY, | ||
67 | ACPI_ADR_SPACE_SYSTEM_IO, | ||
68 | ACPI_ADR_SPACE_PCI_CONFIG, | ||
69 | ACPI_ADR_SPACE_DATA_TABLE | ||
70 | }; | ||
71 | |||
69 | /******************************************************************************* | 72 | /******************************************************************************* |
70 | * | 73 | * |
71 | * FUNCTION: acpi_ev_install_region_handlers | 74 | * FUNCTION: acpi_ev_install_region_handlers |
@@ -91,18 +94,19 @@ acpi_status acpi_ev_install_region_handlers(void) | |||
91 | } | 94 | } |
92 | 95 | ||
93 | /* | 96 | /* |
94 | * All address spaces (PCI Config, EC, SMBus) are scope dependent | 97 | * All address spaces (PCI Config, EC, SMBus) are scope dependent and |
95 | * and registration must occur for a specific device. | 98 | * registration must occur for a specific device. |
96 | * | 99 | * |
97 | * In the case of the system memory and IO address spaces there is currently | 100 | * In the case of the system memory and IO address spaces there is |
98 | * no device associated with the address space. For these we use the root. | 101 | * currently no device associated with the address space. For these we |
102 | * use the root. | ||
99 | * | 103 | * |
100 | * We install the default PCI config space handler at the root so | 104 | * We install the default PCI config space handler at the root so that |
101 | * that this space is immediately available even though the we have | 105 | * this space is immediately available even though the we have not |
102 | * not enumerated all the PCI Root Buses yet. This is to conform | 106 | * enumerated all the PCI Root Buses yet. This is to conform to the ACPI |
103 | * to the ACPI specification which states that the PCI config | 107 | * specification which states that the PCI config space must be always |
104 | * space must be always available -- even though we are nowhere | 108 | * available -- even though we are nowhere near ready to find the PCI root |
105 | * near ready to find the PCI root buses at this point. | 109 | * buses at this point. |
106 | * | 110 | * |
107 | * NOTE: We ignore AE_ALREADY_EXISTS because this means that a handler | 111 | * NOTE: We ignore AE_ALREADY_EXISTS because this means that a handler |
108 | * has already been installed (via acpi_install_address_space_handler). | 112 | * has already been installed (via acpi_install_address_space_handler). |
@@ -160,12 +164,11 @@ acpi_status acpi_ev_initialize_op_regions(void) | |||
160 | return_ACPI_STATUS(status); | 164 | return_ACPI_STATUS(status); |
161 | } | 165 | } |
162 | 166 | ||
163 | /* | 167 | /* Run the _REG methods for op_regions in each default address space */ |
164 | * Run the _REG methods for op_regions in each default address space | ||
165 | */ | ||
166 | for (i = 0; i < ACPI_NUM_DEFAULT_SPACES; i++) { | ||
167 | 168 | ||
168 | /* TBD: Make sure handler is the DEFAULT handler, otherwise | 169 | for (i = 0; i < ACPI_NUM_DEFAULT_SPACES; i++) { |
170 | /* | ||
171 | * TBD: Make sure handler is the DEFAULT handler, otherwise | ||
169 | * _REG will have already been run. | 172 | * _REG will have already been run. |
170 | */ | 173 | */ |
171 | status = acpi_ev_execute_reg_methods(acpi_gbl_root_node, | 174 | status = acpi_ev_execute_reg_methods(acpi_gbl_root_node, |
@@ -318,13 +321,13 @@ acpi_ev_address_space_dispatch(union acpi_operand_object *region_obj, | |||
318 | } | 321 | } |
319 | 322 | ||
320 | /* | 323 | /* |
321 | * It may be the case that the region has never been initialized | 324 | * It may be the case that the region has never been initialized. |
322 | * Some types of regions require special init code | 325 | * Some types of regions require special init code |
323 | */ | 326 | */ |
324 | if (!(region_obj->region.flags & AOPOBJ_SETUP_COMPLETE)) { | 327 | if (!(region_obj->region.flags & AOPOBJ_SETUP_COMPLETE)) { |
325 | /* | 328 | |
326 | * This region has not been initialized yet, do it | 329 | /* This region has not been initialized yet, do it */ |
327 | */ | 330 | |
328 | region_setup = handler_desc->address_space.setup; | 331 | region_setup = handler_desc->address_space.setup; |
329 | if (!region_setup) { | 332 | if (!region_setup) { |
330 | 333 | ||
@@ -339,9 +342,9 @@ acpi_ev_address_space_dispatch(union acpi_operand_object *region_obj, | |||
339 | } | 342 | } |
340 | 343 | ||
341 | /* | 344 | /* |
342 | * We must exit the interpreter because the region | 345 | * We must exit the interpreter because the region setup will |
343 | * setup will potentially execute control methods | 346 | * potentially execute control methods (for example, the _REG method |
344 | * (e.g., _REG method for this region) | 347 | * for this region) |
345 | */ | 348 | */ |
346 | acpi_ex_exit_interpreter(); | 349 | acpi_ex_exit_interpreter(); |
347 | 350 | ||
@@ -364,9 +367,8 @@ acpi_ev_address_space_dispatch(union acpi_operand_object *region_obj, | |||
364 | return_ACPI_STATUS(status); | 367 | return_ACPI_STATUS(status); |
365 | } | 368 | } |
366 | 369 | ||
367 | /* | 370 | /* Region initialization may have been completed by region_setup */ |
368 | * Region initialization may have been completed by region_setup | 371 | |
369 | */ | ||
370 | if (!(region_obj->region.flags & AOPOBJ_SETUP_COMPLETE)) { | 372 | if (!(region_obj->region.flags & AOPOBJ_SETUP_COMPLETE)) { |
371 | region_obj->region.flags |= AOPOBJ_SETUP_COMPLETE; | 373 | region_obj->region.flags |= AOPOBJ_SETUP_COMPLETE; |
372 | 374 | ||
@@ -521,8 +523,8 @@ acpi_ev_detach_region(union acpi_operand_object *region_obj, | |||
521 | } | 523 | } |
522 | 524 | ||
523 | /* | 525 | /* |
524 | * If the region has been activated, call the setup handler | 526 | * If the region has been activated, call the setup handler with |
525 | * with the deactivate notification | 527 | * the deactivate notification |
526 | */ | 528 | */ |
527 | if (region_obj->region.flags & AOPOBJ_SETUP_COMPLETE) { | 529 | if (region_obj->region.flags & AOPOBJ_SETUP_COMPLETE) { |
528 | region_setup = handler_obj->address_space.setup; | 530 | region_setup = handler_obj->address_space.setup; |
@@ -668,8 +670,8 @@ acpi_ev_install_handler(acpi_handle obj_handle, | |||
668 | } | 670 | } |
669 | 671 | ||
670 | /* | 672 | /* |
671 | * We only care about regions.and objects | 673 | * We only care about regions and objects that are allowed to have |
672 | * that are allowed to have address space handlers | 674 | * address space handlers |
673 | */ | 675 | */ |
674 | if ((node->type != ACPI_TYPE_DEVICE) && | 676 | if ((node->type != ACPI_TYPE_DEVICE) && |
675 | (node->type != ACPI_TYPE_REGION) && (node != acpi_gbl_root_node)) { | 677 | (node->type != ACPI_TYPE_REGION) && (node != acpi_gbl_root_node)) { |
@@ -710,9 +712,9 @@ acpi_ev_install_handler(acpi_handle obj_handle, | |||
710 | /* | 712 | /* |
711 | * Since the object we found it on was a device, then it | 713 | * Since the object we found it on was a device, then it |
712 | * means that someone has already installed a handler for | 714 | * means that someone has already installed a handler for |
713 | * the branch of the namespace from this device on. Just | 715 | * the branch of the namespace from this device on. Just |
714 | * bail out telling the walk routine to not traverse this | 716 | * bail out telling the walk routine to not traverse this |
715 | * branch. This preserves the scoping rule for handlers. | 717 | * branch. This preserves the scoping rule for handlers. |
716 | */ | 718 | */ |
717 | return (AE_CTRL_DEPTH); | 719 | return (AE_CTRL_DEPTH); |
718 | } | 720 | } |
@@ -723,9 +725,8 @@ acpi_ev_install_handler(acpi_handle obj_handle, | |||
723 | } | 725 | } |
724 | 726 | ||
725 | /* | 727 | /* |
726 | * As long as the device didn't have a handler for this | 728 | * As long as the device didn't have a handler for this space we |
727 | * space we don't care about it. We just ignore it and | 729 | * don't care about it. We just ignore it and proceed. |
728 | * proceed. | ||
729 | */ | 730 | */ |
730 | return (AE_OK); | 731 | return (AE_OK); |
731 | } | 732 | } |
@@ -733,16 +734,14 @@ acpi_ev_install_handler(acpi_handle obj_handle, | |||
733 | /* Object is a Region */ | 734 | /* Object is a Region */ |
734 | 735 | ||
735 | if (obj_desc->region.space_id != handler_obj->address_space.space_id) { | 736 | if (obj_desc->region.space_id != handler_obj->address_space.space_id) { |
736 | /* | 737 | |
737 | * This region is for a different address space | 738 | /* This region is for a different address space, just ignore it */ |
738 | * -- just ignore it | 739 | |
739 | */ | ||
740 | return (AE_OK); | 740 | return (AE_OK); |
741 | } | 741 | } |
742 | 742 | ||
743 | /* | 743 | /* |
744 | * Now we have a region and it is for the handler's address | 744 | * Now we have a region and it is for the handler's address space type. |
745 | * space type. | ||
746 | * | 745 | * |
747 | * First disconnect region for any previous handler (if any) | 746 | * First disconnect region for any previous handler (if any) |
748 | */ | 747 | */ |
@@ -786,9 +785,8 @@ acpi_ev_install_space_handler(struct acpi_namespace_node * node, | |||
786 | ACPI_FUNCTION_TRACE(ev_install_space_handler); | 785 | ACPI_FUNCTION_TRACE(ev_install_space_handler); |
787 | 786 | ||
788 | /* | 787 | /* |
789 | * This registration is valid for only the types below | 788 | * This registration is valid for only the types below and the root. This |
790 | * and the root. This is where the default handlers | 789 | * is where the default handlers get placed. |
791 | * get placed. | ||
792 | */ | 790 | */ |
793 | if ((node->type != ACPI_TYPE_DEVICE) && | 791 | if ((node->type != ACPI_TYPE_DEVICE) && |
794 | (node->type != ACPI_TYPE_PROCESSOR) && | 792 | (node->type != ACPI_TYPE_PROCESSOR) && |
@@ -848,8 +846,8 @@ acpi_ev_install_space_handler(struct acpi_namespace_node * node, | |||
848 | obj_desc = acpi_ns_get_attached_object(node); | 846 | obj_desc = acpi_ns_get_attached_object(node); |
849 | if (obj_desc) { | 847 | if (obj_desc) { |
850 | /* | 848 | /* |
851 | * The attached device object already exists. | 849 | * The attached device object already exists. Make sure the handler |
852 | * Make sure the handler is not already installed. | 850 | * is not already installed. |
853 | */ | 851 | */ |
854 | handler_obj = obj_desc->device.handler; | 852 | handler_obj = obj_desc->device.handler; |
855 | 853 | ||
@@ -864,8 +862,8 @@ acpi_ev_install_space_handler(struct acpi_namespace_node * node, | |||
864 | handler) { | 862 | handler) { |
865 | /* | 863 | /* |
866 | * It is (relatively) OK to attempt to install the SAME | 864 | * It is (relatively) OK to attempt to install the SAME |
867 | * handler twice. This can easily happen | 865 | * handler twice. This can easily happen with the |
868 | * with PCI_Config space. | 866 | * PCI_Config space. |
869 | */ | 867 | */ |
870 | status = AE_SAME_HANDLER; | 868 | status = AE_SAME_HANDLER; |
871 | goto unlock_and_exit; | 869 | goto unlock_and_exit; |
@@ -925,9 +923,8 @@ acpi_ev_install_space_handler(struct acpi_namespace_node * node, | |||
925 | /* | 923 | /* |
926 | * Install the handler | 924 | * Install the handler |
927 | * | 925 | * |
928 | * At this point there is no existing handler. | 926 | * At this point there is no existing handler. Just allocate the object |
929 | * Just allocate the object for the handler and link it | 927 | * for the handler and link it into the list. |
930 | * into the list. | ||
931 | */ | 928 | */ |
932 | handler_obj = | 929 | handler_obj = |
933 | acpi_ut_create_internal_object(ACPI_TYPE_LOCAL_ADDRESS_HANDLER); | 930 | acpi_ut_create_internal_object(ACPI_TYPE_LOCAL_ADDRESS_HANDLER); |
@@ -1000,11 +997,10 @@ acpi_ev_execute_reg_methods(struct acpi_namespace_node *node, | |||
1000 | ACPI_FUNCTION_TRACE(ev_execute_reg_methods); | 997 | ACPI_FUNCTION_TRACE(ev_execute_reg_methods); |
1001 | 998 | ||
1002 | /* | 999 | /* |
1003 | * Run all _REG methods for all Operation Regions for this | 1000 | * Run all _REG methods for all Operation Regions for this space ID. This |
1004 | * space ID. This is a separate walk in order to handle any | 1001 | * is a separate walk in order to handle any interdependencies between |
1005 | * interdependencies between regions and _REG methods. (i.e. handlers | 1002 | * regions and _REG methods. (i.e. handlers must be installed for all |
1006 | * must be installed for all regions of this Space ID before we | 1003 | * regions of this Space ID before we can run any _REG methods) |
1007 | * can run any _REG methods) | ||
1008 | */ | 1004 | */ |
1009 | status = acpi_ns_walk_namespace(ACPI_TYPE_ANY, node, ACPI_UINT32_MAX, | 1005 | status = acpi_ns_walk_namespace(ACPI_TYPE_ANY, node, ACPI_UINT32_MAX, |
1010 | ACPI_NS_WALK_UNLOCK, acpi_ev_reg_run, | 1006 | ACPI_NS_WALK_UNLOCK, acpi_ev_reg_run, |
@@ -1042,8 +1038,8 @@ acpi_ev_reg_run(acpi_handle obj_handle, | |||
1042 | } | 1038 | } |
1043 | 1039 | ||
1044 | /* | 1040 | /* |
1045 | * We only care about regions.and objects | 1041 | * We only care about regions.and objects that are allowed to have address |
1046 | * that are allowed to have address space handlers | 1042 | * space handlers |
1047 | */ | 1043 | */ |
1048 | if ((node->type != ACPI_TYPE_REGION) && (node != acpi_gbl_root_node)) { | 1044 | if ((node->type != ACPI_TYPE_REGION) && (node != acpi_gbl_root_node)) { |
1049 | return (AE_OK); | 1045 | return (AE_OK); |
@@ -1062,10 +1058,9 @@ acpi_ev_reg_run(acpi_handle obj_handle, | |||
1062 | /* Object is a Region */ | 1058 | /* Object is a Region */ |
1063 | 1059 | ||
1064 | if (obj_desc->region.space_id != space_id) { | 1060 | if (obj_desc->region.space_id != space_id) { |
1065 | /* | 1061 | |
1066 | * This region is for a different address space | 1062 | /* This region is for a different address space, just ignore it */ |
1067 | * -- just ignore it | 1063 | |
1068 | */ | ||
1069 | return (AE_OK); | 1064 | return (AE_OK); |
1070 | } | 1065 | } |
1071 | 1066 | ||
diff --git a/drivers/acpi/events/evrgnini.c b/drivers/acpi/events/evrgnini.c index 6b94b38df07d..f9e561ee9a71 100644 --- a/drivers/acpi/events/evrgnini.c +++ b/drivers/acpi/events/evrgnini.c | |||
@@ -233,9 +233,9 @@ acpi_ev_pci_config_region_setup(acpi_handle handle, | |||
233 | if (ACPI_FAILURE(status)) { | 233 | if (ACPI_FAILURE(status)) { |
234 | if (status == AE_SAME_HANDLER) { | 234 | if (status == AE_SAME_HANDLER) { |
235 | /* | 235 | /* |
236 | * It is OK if the handler is already installed on the root | 236 | * It is OK if the handler is already installed on the |
237 | * bridge. Still need to return a context object for the | 237 | * root bridge. Still need to return a context object |
238 | * new PCI_Config operation region, however. | 238 | * for the new PCI_Config operation region, however. |
239 | */ | 239 | */ |
240 | status = AE_OK; | 240 | status = AE_OK; |
241 | } else { | 241 | } else { |
@@ -272,8 +272,8 @@ acpi_ev_pci_config_region_setup(acpi_handle handle, | |||
272 | } | 272 | } |
273 | 273 | ||
274 | /* | 274 | /* |
275 | * For PCI_Config space access, we need the segment, bus, | 275 | * For PCI_Config space access, we need the segment, bus, device and |
276 | * device and function numbers. Acquire them here. | 276 | * function numbers. Acquire them here. |
277 | * | 277 | * |
278 | * Find the parent device object. (This allows the operation region to be | 278 | * Find the parent device object. (This allows the operation region to be |
279 | * within a subscope under the device, such as a control method.) | 279 | * within a subscope under the device, such as a control method.) |
@@ -289,16 +289,16 @@ acpi_ev_pci_config_region_setup(acpi_handle handle, | |||
289 | } | 289 | } |
290 | 290 | ||
291 | /* | 291 | /* |
292 | * Get the PCI device and function numbers from the _ADR object | 292 | * Get the PCI device and function numbers from the _ADR object contained |
293 | * contained in the parent's scope. | 293 | * in the parent's scope. |
294 | */ | 294 | */ |
295 | status = | 295 | status = |
296 | acpi_ut_evaluate_numeric_object(METHOD_NAME__ADR, pci_device_node, | 296 | acpi_ut_evaluate_numeric_object(METHOD_NAME__ADR, pci_device_node, |
297 | &pci_value); | 297 | &pci_value); |
298 | 298 | ||
299 | /* | 299 | /* |
300 | * The default is zero, and since the allocation above zeroed | 300 | * The default is zero, and since the allocation above zeroed the data, |
301 | * the data, just do nothing on failure. | 301 | * just do nothing on failure. |
302 | */ | 302 | */ |
303 | if (ACPI_SUCCESS(status)) { | 303 | if (ACPI_SUCCESS(status)) { |
304 | pci_id->device = ACPI_HIWORD(ACPI_LODWORD(pci_value)); | 304 | pci_id->device = ACPI_HIWORD(ACPI_LODWORD(pci_value)); |
@@ -382,9 +382,8 @@ static u8 acpi_ev_is_pci_root_bridge(struct acpi_namespace_node *node) | |||
382 | struct acpi_compatible_id_list *cid; | 382 | struct acpi_compatible_id_list *cid; |
383 | u32 i; | 383 | u32 i; |
384 | 384 | ||
385 | /* | 385 | /* Get the _HID and check for a PCI Root Bridge */ |
386 | * Get the _HID and check for a PCI Root Bridge | 386 | |
387 | */ | ||
388 | status = acpi_ut_execute_HID(node, &hid); | 387 | status = acpi_ut_execute_HID(node, &hid); |
389 | if (ACPI_FAILURE(status)) { | 388 | if (ACPI_FAILURE(status)) { |
390 | return (FALSE); | 389 | return (FALSE); |
@@ -394,10 +393,8 @@ static u8 acpi_ev_is_pci_root_bridge(struct acpi_namespace_node *node) | |||
394 | return (TRUE); | 393 | return (TRUE); |
395 | } | 394 | } |
396 | 395 | ||
397 | /* | 396 | /* The _HID did not match. Get the _CID and check for a PCI Root Bridge */ |
398 | * The _HID did not match. | 397 | |
399 | * Get the _CID and check for a PCI Root Bridge | ||
400 | */ | ||
401 | status = acpi_ut_execute_CID(node, &cid); | 398 | status = acpi_ut_execute_CID(node, &cid); |
402 | if (ACPI_FAILURE(status)) { | 399 | if (ACPI_FAILURE(status)) { |
403 | return (FALSE); | 400 | return (FALSE); |
@@ -516,9 +513,9 @@ acpi_ev_default_region_setup(acpi_handle handle, | |||
516 | * Get the appropriate address space handler for a newly | 513 | * Get the appropriate address space handler for a newly |
517 | * created region. | 514 | * created region. |
518 | * | 515 | * |
519 | * This also performs address space specific initialization. For | 516 | * This also performs address space specific initialization. For |
520 | * example, PCI regions must have an _ADR object that contains | 517 | * example, PCI regions must have an _ADR object that contains |
521 | * a PCI address in the scope of the definition. This address is | 518 | * a PCI address in the scope of the definition. This address is |
522 | * required to perform an access to PCI config space. | 519 | * required to perform an access to PCI config space. |
523 | * | 520 | * |
524 | * MUTEX: Interpreter should be unlocked, because we may run the _REG | 521 | * MUTEX: Interpreter should be unlocked, because we may run the _REG |
@@ -572,7 +569,7 @@ acpi_ev_initialize_region(union acpi_operand_object *region_obj, | |||
572 | if (ACPI_SUCCESS(status)) { | 569 | if (ACPI_SUCCESS(status)) { |
573 | /* | 570 | /* |
574 | * The _REG method is optional and there can be only one per region | 571 | * The _REG method is optional and there can be only one per region |
575 | * definition. This will be executed when the handler is attached | 572 | * definition. This will be executed when the handler is attached |
576 | * or removed | 573 | * or removed |
577 | */ | 574 | */ |
578 | region_obj2->extra.method_REG = method_node; | 575 | region_obj2->extra.method_REG = method_node; |
@@ -670,10 +667,8 @@ acpi_ev_initialize_region(union acpi_operand_object *region_obj, | |||
670 | } | 667 | } |
671 | } | 668 | } |
672 | 669 | ||
673 | /* | 670 | /* This node does not have the handler we need; Pop up one level */ |
674 | * This node does not have the handler we need; | 671 | |
675 | * Pop up one level | ||
676 | */ | ||
677 | node = acpi_ns_get_parent_node(node); | 672 | node = acpi_ns_get_parent_node(node); |
678 | } | 673 | } |
679 | 674 | ||
diff --git a/drivers/acpi/events/evsci.c b/drivers/acpi/events/evsci.c index 2a8b77877610..b5fc8055a473 100644 --- a/drivers/acpi/events/evsci.c +++ b/drivers/acpi/events/evsci.c | |||
@@ -115,10 +115,8 @@ u32 ACPI_SYSTEM_XFACE acpi_ev_gpe_xrupt_handler(void *context) | |||
115 | * if this interrupt handler is installed, ACPI is enabled. | 115 | * if this interrupt handler is installed, ACPI is enabled. |
116 | */ | 116 | */ |
117 | 117 | ||
118 | /* | 118 | /* GPEs: Check for and dispatch any GPEs that have occurred */ |
119 | * GPEs: | 119 | |
120 | * Check for and dispatch any GPEs that have occurred | ||
121 | */ | ||
122 | interrupt_handled |= acpi_ev_gpe_detect(gpe_xrupt_list); | 120 | interrupt_handled |= acpi_ev_gpe_detect(gpe_xrupt_list); |
123 | 121 | ||
124 | return_UINT32(interrupt_handled); | 122 | return_UINT32(interrupt_handled); |
@@ -158,11 +156,11 @@ u32 acpi_ev_install_sci_handler(void) | |||
158 | * RETURN: E_OK if handler uninstalled OK, E_ERROR if handler was not | 156 | * RETURN: E_OK if handler uninstalled OK, E_ERROR if handler was not |
159 | * installed to begin with | 157 | * installed to begin with |
160 | * | 158 | * |
161 | * DESCRIPTION: Remove the SCI interrupt handler. No further SCIs will be | 159 | * DESCRIPTION: Remove the SCI interrupt handler. No further SCIs will be |
162 | * taken. | 160 | * taken. |
163 | * | 161 | * |
164 | * Note: It doesn't seem important to disable all events or set the event | 162 | * Note: It doesn't seem important to disable all events or set the event |
165 | * enable registers to their original values. The OS should disable | 163 | * enable registers to their original values. The OS should disable |
166 | * the SCI interrupt level when the handler is removed, so no more | 164 | * the SCI interrupt level when the handler is removed, so no more |
167 | * events will come in. | 165 | * events will come in. |
168 | * | 166 | * |
diff --git a/drivers/acpi/events/evxface.c b/drivers/acpi/events/evxface.c index 94a6efe020be..a2867875c74e 100644 --- a/drivers/acpi/events/evxface.c +++ b/drivers/acpi/events/evxface.c | |||
@@ -267,7 +267,7 @@ acpi_install_notify_handler(acpi_handle device, | |||
267 | /* | 267 | /* |
268 | * Root Object: | 268 | * Root Object: |
269 | * Registering a notify handler on the root object indicates that the | 269 | * Registering a notify handler on the root object indicates that the |
270 | * caller wishes to receive notifications for all objects. Note that | 270 | * caller wishes to receive notifications for all objects. Note that |
271 | * only one <external> global handler can be regsitered (per notify type). | 271 | * only one <external> global handler can be regsitered (per notify type). |
272 | */ | 272 | */ |
273 | if (device == ACPI_ROOT_OBJECT) { | 273 | if (device == ACPI_ROOT_OBJECT) { |
diff --git a/drivers/acpi/events/evxfevnt.c b/drivers/acpi/events/evxfevnt.c index 41554f736b68..669b8ca4984b 100644 --- a/drivers/acpi/events/evxfevnt.c +++ b/drivers/acpi/events/evxfevnt.c | |||
@@ -161,8 +161,8 @@ acpi_status acpi_enable_event(u32 event, u32 flags) | |||
161 | } | 161 | } |
162 | 162 | ||
163 | /* | 163 | /* |
164 | * Enable the requested fixed event (by writing a one to the | 164 | * Enable the requested fixed event (by writing a one to the enable |
165 | * enable register bit) | 165 | * register bit) |
166 | */ | 166 | */ |
167 | status = | 167 | status = |
168 | acpi_set_register(acpi_gbl_fixed_event_info[event]. | 168 | acpi_set_register(acpi_gbl_fixed_event_info[event]. |
@@ -343,8 +343,8 @@ acpi_status acpi_disable_event(u32 event, u32 flags) | |||
343 | } | 343 | } |
344 | 344 | ||
345 | /* | 345 | /* |
346 | * Disable the requested fixed event (by writing a zero to the | 346 | * Disable the requested fixed event (by writing a zero to the enable |
347 | * enable register bit) | 347 | * register bit) |
348 | */ | 348 | */ |
349 | status = | 349 | status = |
350 | acpi_set_register(acpi_gbl_fixed_event_info[event]. | 350 | acpi_set_register(acpi_gbl_fixed_event_info[event]. |
@@ -396,8 +396,8 @@ acpi_status acpi_clear_event(u32 event) | |||
396 | } | 396 | } |
397 | 397 | ||
398 | /* | 398 | /* |
399 | * Clear the requested fixed event (By writing a one to the | 399 | * Clear the requested fixed event (By writing a one to the status |
400 | * status register bit) | 400 | * register bit) |
401 | */ | 401 | */ |
402 | status = | 402 | status = |
403 | acpi_set_register(acpi_gbl_fixed_event_info[event]. | 403 | acpi_set_register(acpi_gbl_fixed_event_info[event]. |