Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 141856
b: refs/heads/master
c: 768aaaf
h: refs/heads/master
v: v3
  • Loading branch information
Bob Moore authored and Len Brown committed Mar 27, 2009
1 parent c35686f commit 81138d0
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2affa28605fa5387192c72d9889a00c9c51aa712
refs/heads/master: 768aaaf196e8a40f5cfc792d9d365795cc52ed13
12 changes: 7 additions & 5 deletions trunk/drivers/acpi/acpica/evevent.c
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ acpi_status acpi_ev_install_xrupt_handlers(void)
*
* RETURN: Status
*
* DESCRIPTION: Install the fixed event handlers and enable the fixed events.
* DESCRIPTION: Install the fixed event handlers and disable all fixed events.
*
******************************************************************************/

Expand All @@ -200,12 +200,13 @@ static acpi_status acpi_ev_fixed_event_initialize(void)
acpi_gbl_fixed_event_handlers[i].handler = NULL;
acpi_gbl_fixed_event_handlers[i].context = NULL;

/* Enable the fixed event */
/* Disable the fixed event */

if (acpi_gbl_fixed_event_info[i].enable_register_id != 0xFF) {
status =
acpi_write_bit_register(acpi_gbl_fixed_event_info
[i].enable_register_id, 0);
[i].enable_register_id,
ACPI_DISABLE_EVENT);
if (ACPI_FAILURE(status)) {
return (status);
}
Expand Down Expand Up @@ -289,15 +290,16 @@ static u32 acpi_ev_fixed_event_dispatch(u32 event)
/* Clear the status bit */

(void)acpi_write_bit_register(acpi_gbl_fixed_event_info[event].
status_register_id, 1);
status_register_id, ACPI_CLEAR_STATUS);

/*
* Make sure we've got a handler. If not, report an error. The event is
* disabled to prevent further interrupts.
*/
if (NULL == acpi_gbl_fixed_event_handlers[event].handler) {
(void)acpi_write_bit_register(acpi_gbl_fixed_event_info[event].
enable_register_id, 0);
enable_register_id,
ACPI_DISABLE_EVENT);

ACPI_ERROR((AE_INFO,
"No installed handler for fixed event [%08X]",
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/acpi/acpica/evmisc.c
Original file line number Diff line number Diff line change
Expand Up @@ -535,7 +535,8 @@ acpi_status acpi_ev_release_global_lock(void)
if (pending) {
status =
acpi_write_bit_register
(ACPI_BITREG_GLOBAL_LOCK_RELEASE, 1);
(ACPI_BITREG_GLOBAL_LOCK_RELEASE,
ACPI_ENABLE_EVENT);
}

ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
Expand Down
6 changes: 3 additions & 3 deletions trunk/drivers/acpi/acpica/evxfevnt.c
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ acpi_status acpi_enable_event(u32 event, u32 flags)
*/
status =
acpi_write_bit_register(acpi_gbl_fixed_event_info[event].
enable_register_id, 1);
enable_register_id, ACPI_ENABLE_EVENT);
if (ACPI_FAILURE(status)) {
return_ACPI_STATUS(status);
}
Expand Down Expand Up @@ -355,7 +355,7 @@ acpi_status acpi_disable_event(u32 event, u32 flags)
*/
status =
acpi_write_bit_register(acpi_gbl_fixed_event_info[event].
enable_register_id, 0);
enable_register_id, ACPI_DISABLE_EVENT);
if (ACPI_FAILURE(status)) {
return_ACPI_STATUS(status);
}
Expand Down Expand Up @@ -408,7 +408,7 @@ acpi_status acpi_clear_event(u32 event)
*/
status =
acpi_write_bit_register(acpi_gbl_fixed_event_info[event].
status_register_id, 1);
status_register_id, ACPI_CLEAR_STATUS);

return_ACPI_STATUS(status);
}
Expand Down
14 changes: 10 additions & 4 deletions trunk/drivers/acpi/acpica/hwsleep.c
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,8 @@ acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state)

/* Clear wake status */

status = acpi_write_bit_register(ACPI_BITREG_WAKE_STATUS, 1);
status =
acpi_write_bit_register(ACPI_BITREG_WAKE_STATUS, ACPI_CLEAR_STATUS);
if (ACPI_FAILURE(status)) {
return_ACPI_STATUS(status);
}
Expand Down Expand Up @@ -399,7 +400,10 @@ acpi_status asmlinkage acpi_enter_sleep_state_s4bios(void)

ACPI_FUNCTION_TRACE(acpi_enter_sleep_state_s4bios);

status = acpi_write_bit_register(ACPI_BITREG_WAKE_STATUS, 1);
/* Clear the wake status bit (PM1) */

status =
acpi_write_bit_register(ACPI_BITREG_WAKE_STATUS, ACPI_CLEAR_STATUS);
if (ACPI_FAILURE(status)) {
return_ACPI_STATUS(status);
}
Expand Down Expand Up @@ -601,11 +605,13 @@ acpi_status acpi_leave_sleep_state(u8 sleep_state)

(void)
acpi_write_bit_register(acpi_gbl_fixed_event_info
[ACPI_EVENT_POWER_BUTTON].enable_register_id, 1);
[ACPI_EVENT_POWER_BUTTON].
enable_register_id, ACPI_ENABLE_EVENT);

(void)
acpi_write_bit_register(acpi_gbl_fixed_event_info
[ACPI_EVENT_POWER_BUTTON].status_register_id, 1);
[ACPI_EVENT_POWER_BUTTON].
status_register_id, ACPI_CLEAR_STATUS);

arg.integer.value = ACPI_SST_WORKING;
status = acpi_evaluate_object(NULL, METHOD_NAME__SST, &arg_list, NULL);
Expand Down
9 changes: 9 additions & 0 deletions trunk/include/acpi/actypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -787,6 +787,15 @@ typedef u8 acpi_adr_space_type;
#define ACPI_BITREG_MAX 0x13
#define ACPI_NUM_BITREG ACPI_BITREG_MAX + 1

/* Status register values. A 1 clears a status bit. 0 = no effect */

#define ACPI_CLEAR_STATUS 1

/* Enable and Control register values */

#define ACPI_ENABLE_EVENT 1
#define ACPI_DISABLE_EVENT 0

/*
* External ACPI object definition
*/
Expand Down

0 comments on commit 81138d0

Please sign in to comment.