diff options
Diffstat (limited to 'drivers/acpi/events/evxfevnt.c')
-rw-r--r-- | drivers/acpi/events/evxfevnt.c | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/drivers/acpi/events/evxfevnt.c b/drivers/acpi/events/evxfevnt.c index 7ebc2efac936..17065e98807c 100644 --- a/drivers/acpi/events/evxfevnt.c +++ b/drivers/acpi/events/evxfevnt.c | |||
@@ -5,7 +5,7 @@ | |||
5 | *****************************************************************************/ | 5 | *****************************************************************************/ |
6 | 6 | ||
7 | /* | 7 | /* |
8 | * Copyright (C) 2000 - 2006, R. Byron Moore | 8 | * Copyright (C) 2000 - 2007, R. Byron Moore |
9 | * All rights reserved. | 9 | * All rights reserved. |
10 | * | 10 | * |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without |
@@ -44,6 +44,7 @@ | |||
44 | #include <acpi/acpi.h> | 44 | #include <acpi/acpi.h> |
45 | #include <acpi/acevents.h> | 45 | #include <acpi/acevents.h> |
46 | #include <acpi/acnamesp.h> | 46 | #include <acpi/acnamesp.h> |
47 | #include <acpi/actables.h> | ||
47 | 48 | ||
48 | #define _COMPONENT ACPI_EVENTS | 49 | #define _COMPONENT ACPI_EVENTS |
49 | ACPI_MODULE_NAME("evxfevnt") | 50 | ACPI_MODULE_NAME("evxfevnt") |
@@ -65,13 +66,14 @@ acpi_status acpi_enable(void) | |||
65 | 66 | ||
66 | ACPI_FUNCTION_TRACE(acpi_enable); | 67 | ACPI_FUNCTION_TRACE(acpi_enable); |
67 | 68 | ||
68 | /* Make sure we have the FADT */ | 69 | /* ACPI tables must be present */ |
69 | 70 | ||
70 | if (!acpi_gbl_FADT) { | 71 | if (!acpi_tb_tables_loaded()) { |
71 | ACPI_WARNING((AE_INFO, "No FADT information present!")); | ||
72 | return_ACPI_STATUS(AE_NO_ACPI_TABLES); | 72 | return_ACPI_STATUS(AE_NO_ACPI_TABLES); |
73 | } | 73 | } |
74 | 74 | ||
75 | /* Check current mode */ | ||
76 | |||
75 | if (acpi_hw_get_mode() == ACPI_SYS_MODE_ACPI) { | 77 | if (acpi_hw_get_mode() == ACPI_SYS_MODE_ACPI) { |
76 | ACPI_DEBUG_PRINT((ACPI_DB_INIT, | 78 | ACPI_DEBUG_PRINT((ACPI_DB_INIT, |
77 | "System is already in ACPI mode\n")); | 79 | "System is already in ACPI mode\n")); |
@@ -111,11 +113,6 @@ acpi_status acpi_disable(void) | |||
111 | 113 | ||
112 | ACPI_FUNCTION_TRACE(acpi_disable); | 114 | ACPI_FUNCTION_TRACE(acpi_disable); |
113 | 115 | ||
114 | if (!acpi_gbl_FADT) { | ||
115 | ACPI_WARNING((AE_INFO, "No FADT information present!")); | ||
116 | return_ACPI_STATUS(AE_NO_ACPI_TABLES); | ||
117 | } | ||
118 | |||
119 | if (acpi_hw_get_mode() == ACPI_SYS_MODE_LEGACY) { | 116 | if (acpi_hw_get_mode() == ACPI_SYS_MODE_LEGACY) { |
120 | ACPI_DEBUG_PRINT((ACPI_DB_INIT, | 117 | ACPI_DEBUG_PRINT((ACPI_DB_INIT, |
121 | "System is already in legacy (non-ACPI) mode\n")); | 118 | "System is already in legacy (non-ACPI) mode\n")); |
@@ -169,7 +166,7 @@ acpi_status acpi_enable_event(u32 event, u32 flags) | |||
169 | */ | 166 | */ |
170 | status = | 167 | status = |
171 | acpi_set_register(acpi_gbl_fixed_event_info[event]. | 168 | acpi_set_register(acpi_gbl_fixed_event_info[event]. |
172 | enable_register_id, 1, ACPI_MTX_LOCK); | 169 | enable_register_id, 1); |
173 | if (ACPI_FAILURE(status)) { | 170 | if (ACPI_FAILURE(status)) { |
174 | return_ACPI_STATUS(status); | 171 | return_ACPI_STATUS(status); |
175 | } | 172 | } |
@@ -178,7 +175,7 @@ acpi_status acpi_enable_event(u32 event, u32 flags) | |||
178 | 175 | ||
179 | status = | 176 | status = |
180 | acpi_get_register(acpi_gbl_fixed_event_info[event]. | 177 | acpi_get_register(acpi_gbl_fixed_event_info[event]. |
181 | enable_register_id, &value, ACPI_MTX_LOCK); | 178 | enable_register_id, &value); |
182 | if (ACPI_FAILURE(status)) { | 179 | if (ACPI_FAILURE(status)) { |
183 | return_ACPI_STATUS(status); | 180 | return_ACPI_STATUS(status); |
184 | } | 181 | } |
@@ -368,14 +365,14 @@ acpi_status acpi_disable_event(u32 event, u32 flags) | |||
368 | */ | 365 | */ |
369 | status = | 366 | status = |
370 | acpi_set_register(acpi_gbl_fixed_event_info[event]. | 367 | acpi_set_register(acpi_gbl_fixed_event_info[event]. |
371 | enable_register_id, 0, ACPI_MTX_LOCK); | 368 | enable_register_id, 0); |
372 | if (ACPI_FAILURE(status)) { | 369 | if (ACPI_FAILURE(status)) { |
373 | return_ACPI_STATUS(status); | 370 | return_ACPI_STATUS(status); |
374 | } | 371 | } |
375 | 372 | ||
376 | status = | 373 | status = |
377 | acpi_get_register(acpi_gbl_fixed_event_info[event]. | 374 | acpi_get_register(acpi_gbl_fixed_event_info[event]. |
378 | enable_register_id, &value, ACPI_MTX_LOCK); | 375 | enable_register_id, &value); |
379 | if (ACPI_FAILURE(status)) { | 376 | if (ACPI_FAILURE(status)) { |
380 | return_ACPI_STATUS(status); | 377 | return_ACPI_STATUS(status); |
381 | } | 378 | } |
@@ -421,7 +418,7 @@ acpi_status acpi_clear_event(u32 event) | |||
421 | */ | 418 | */ |
422 | status = | 419 | status = |
423 | acpi_set_register(acpi_gbl_fixed_event_info[event]. | 420 | acpi_set_register(acpi_gbl_fixed_event_info[event]. |
424 | status_register_id, 1, ACPI_MTX_LOCK); | 421 | status_register_id, 1); |
425 | 422 | ||
426 | return_ACPI_STATUS(status); | 423 | return_ACPI_STATUS(status); |
427 | } | 424 | } |
@@ -510,7 +507,7 @@ acpi_status acpi_get_event_status(u32 event, acpi_event_status * event_status) | |||
510 | 507 | ||
511 | status = | 508 | status = |
512 | acpi_get_register(acpi_gbl_fixed_event_info[event]. | 509 | acpi_get_register(acpi_gbl_fixed_event_info[event]. |
513 | status_register_id, event_status, ACPI_MTX_LOCK); | 510 | status_register_id, event_status); |
514 | 511 | ||
515 | return_ACPI_STATUS(status); | 512 | return_ACPI_STATUS(status); |
516 | } | 513 | } |