diff options
author | Bob Moore <robert.moore@intel.com> | 2012-02-14 05:14:27 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2012-03-22 01:44:49 -0400 |
commit | 33620c5419e8a11814dd11e02a80e6ef77a43407 (patch) | |
tree | 8643dbb1e332dd9ece6fb92f22000413e8d8fdc7 /include/acpi | |
parent | d08310fe0d6bd8c82da94e8d8ef48bdbe14d2bd1 (diff) |
ACPICA: Support for custom ACPICA build for ACPI 5 reduced hardware
Add ACPI_REDUCED_HARDWARE flag that removes all hardware-related
code (about 10% code, 5% static data).
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi')
-rw-r--r-- | include/acpi/acconfig.h | 248 | ||||
-rw-r--r-- | include/acpi/acexcep.h | 6 | ||||
-rw-r--r-- | include/acpi/acpixf.h | 219 |
3 files changed, 401 insertions, 72 deletions
diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h new file mode 100644 index 00000000000..03f14856bd0 --- /dev/null +++ b/include/acpi/acconfig.h | |||
@@ -0,0 +1,248 @@ | |||
1 | /****************************************************************************** | ||
2 | * | ||
3 | * Name: acconfig.h - Global configuration constants | ||
4 | * | ||
5 | *****************************************************************************/ | ||
6 | |||
7 | /* | ||
8 | * Copyright (C) 2000 - 2012, Intel Corp. | ||
9 | * All rights reserved. | ||
10 | * | ||
11 | * Redistribution and use in source and binary forms, with or without | ||
12 | * modification, are permitted provided that the following conditions | ||
13 | * are met: | ||
14 | * 1. Redistributions of source code must retain the above copyright | ||
15 | * notice, this list of conditions, and the following disclaimer, | ||
16 | * without modification. | ||
17 | * 2. Redistributions in binary form must reproduce at minimum a disclaimer | ||
18 | * substantially similar to the "NO WARRANTY" disclaimer below | ||
19 | * ("Disclaimer") and any redistribution must be conditioned upon | ||
20 | * including a substantially similar Disclaimer requirement for further | ||
21 | * binary redistribution. | ||
22 | * 3. Neither the names of the above-listed copyright holders nor the names | ||
23 | * of any contributors may be used to endorse or promote products derived | ||
24 | * from this software without specific prior written permission. | ||
25 | * | ||
26 | * Alternatively, this software may be distributed under the terms of the | ||
27 | * GNU General Public License ("GPL") version 2 as published by the Free | ||
28 | * Software Foundation. | ||
29 | * | ||
30 | * NO WARRANTY | ||
31 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
32 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
33 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR | ||
34 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
35 | * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
36 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
37 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
38 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | ||
39 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING | ||
40 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
41 | * POSSIBILITY OF SUCH DAMAGES. | ||
42 | */ | ||
43 | |||
44 | #ifndef _ACCONFIG_H | ||
45 | #define _ACCONFIG_H | ||
46 | |||
47 | /****************************************************************************** | ||
48 | * | ||
49 | * Configuration options | ||
50 | * | ||
51 | *****************************************************************************/ | ||
52 | |||
53 | /* | ||
54 | * ACPI_DEBUG_OUTPUT - This switch enables all the debug facilities of the | ||
55 | * ACPI subsystem. This includes the DEBUG_PRINT output | ||
56 | * statements. When disabled, all DEBUG_PRINT | ||
57 | * statements are compiled out. | ||
58 | * | ||
59 | * ACPI_APPLICATION - Use this switch if the subsystem is going to be run | ||
60 | * at the application level. | ||
61 | * | ||
62 | */ | ||
63 | |||
64 | /* | ||
65 | * OS name, used for the _OS object. The _OS object is essentially obsolete, | ||
66 | * but there is a large base of ASL/AML code in existing machines that check | ||
67 | * for the string below. The use of this string usually guarantees that | ||
68 | * the ASL will execute down the most tested code path. Also, there is some | ||
69 | * code that will not execute the _OSI method unless _OS matches the string | ||
70 | * below. Therefore, change this string at your own risk. | ||
71 | */ | ||
72 | #define ACPI_OS_NAME "Microsoft Windows NT" | ||
73 | |||
74 | /* Maximum objects in the various object caches */ | ||
75 | |||
76 | #define ACPI_MAX_STATE_CACHE_DEPTH 96 /* State objects */ | ||
77 | #define ACPI_MAX_PARSE_CACHE_DEPTH 96 /* Parse tree objects */ | ||
78 | #define ACPI_MAX_EXTPARSE_CACHE_DEPTH 96 /* Parse tree objects */ | ||
79 | #define ACPI_MAX_OBJECT_CACHE_DEPTH 96 /* Interpreter operand objects */ | ||
80 | #define ACPI_MAX_NAMESPACE_CACHE_DEPTH 96 /* Namespace objects */ | ||
81 | |||
82 | /* | ||
83 | * Should the subsystem abort the loading of an ACPI table if the | ||
84 | * table checksum is incorrect? | ||
85 | */ | ||
86 | #define ACPI_CHECKSUM_ABORT FALSE | ||
87 | |||
88 | /* | ||
89 | * Generate a version of ACPICA that only supports "reduced hardware" | ||
90 | * platforms (as defined in ACPI 5.0). Set to TRUE to generate a specialized | ||
91 | * version of ACPICA that ONLY supports the ACPI 5.0 "reduced hardware" | ||
92 | * model. In other words, no ACPI hardware is supported. | ||
93 | * | ||
94 | * If TRUE, this means no support for the following: | ||
95 | * PM Event and Control registers | ||
96 | * SCI interrupt (and handler) | ||
97 | * Fixed Events | ||
98 | * General Purpose Events (GPEs) | ||
99 | * Global Lock | ||
100 | * ACPI PM timer | ||
101 | * FACS table (Waking vectors and Global Lock) | ||
102 | */ | ||
103 | #define ACPI_REDUCED_HARDWARE FALSE | ||
104 | |||
105 | /****************************************************************************** | ||
106 | * | ||
107 | * Subsystem Constants | ||
108 | * | ||
109 | *****************************************************************************/ | ||
110 | |||
111 | /* Version of ACPI supported */ | ||
112 | |||
113 | #define ACPI_CA_SUPPORT_LEVEL 5 | ||
114 | |||
115 | /* Maximum count for a semaphore object */ | ||
116 | |||
117 | #define ACPI_MAX_SEMAPHORE_COUNT 256 | ||
118 | |||
119 | /* Maximum object reference count (detects object deletion issues) */ | ||
120 | |||
121 | #define ACPI_MAX_REFERENCE_COUNT 0x1000 | ||
122 | |||
123 | /* Default page size for use in mapping memory for operation regions */ | ||
124 | |||
125 | #define ACPI_DEFAULT_PAGE_SIZE 4096 /* Must be power of 2 */ | ||
126 | |||
127 | /* owner_id tracking. 8 entries allows for 255 owner_ids */ | ||
128 | |||
129 | #define ACPI_NUM_OWNERID_MASKS 8 | ||
130 | |||
131 | /* Size of the root table array is increased by this increment */ | ||
132 | |||
133 | #define ACPI_ROOT_TABLE_SIZE_INCREMENT 4 | ||
134 | |||
135 | /* Maximum number of While() loop iterations before forced abort */ | ||
136 | |||
137 | #define ACPI_MAX_LOOP_ITERATIONS 0xFFFF | ||
138 | |||
139 | /* Maximum sleep allowed via Sleep() operator */ | ||
140 | |||
141 | #define ACPI_MAX_SLEEP 2000 /* Two seconds */ | ||
142 | |||
143 | /* Address Range lists are per-space_id (Memory and I/O only) */ | ||
144 | |||
145 | #define ACPI_ADDRESS_RANGE_MAX 2 | ||
146 | |||
147 | /****************************************************************************** | ||
148 | * | ||
149 | * ACPI Specification constants (Do not change unless the specification changes) | ||
150 | * | ||
151 | *****************************************************************************/ | ||
152 | |||
153 | /* Number of distinct GPE register blocks and register width */ | ||
154 | |||
155 | #define ACPI_MAX_GPE_BLOCKS 2 | ||
156 | #define ACPI_GPE_REGISTER_WIDTH 8 | ||
157 | |||
158 | /* Method info (in WALK_STATE), containing local variables and argumetns */ | ||
159 | |||
160 | #define ACPI_METHOD_NUM_LOCALS 8 | ||
161 | #define ACPI_METHOD_MAX_LOCAL 7 | ||
162 | |||
163 | #define ACPI_METHOD_NUM_ARGS 7 | ||
164 | #define ACPI_METHOD_MAX_ARG 6 | ||
165 | |||
166 | /* Length of _HID, _UID, _CID, and UUID values */ | ||
167 | |||
168 | #define ACPI_DEVICE_ID_LENGTH 0x09 | ||
169 | #define ACPI_MAX_CID_LENGTH 48 | ||
170 | #define ACPI_UUID_LENGTH 16 | ||
171 | |||
172 | /* | ||
173 | * Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG | ||
174 | */ | ||
175 | #define ACPI_OBJ_NUM_OPERANDS 8 | ||
176 | #define ACPI_OBJ_MAX_OPERAND 7 | ||
177 | |||
178 | /* Number of elements in the Result Stack frame, can be an arbitrary value */ | ||
179 | |||
180 | #define ACPI_RESULTS_FRAME_OBJ_NUM 8 | ||
181 | |||
182 | /* | ||
183 | * Maximal number of elements the Result Stack can contain, | ||
184 | * it may be an arbitray value not exceeding the types of | ||
185 | * result_size and result_count (now u8). | ||
186 | */ | ||
187 | #define ACPI_RESULTS_OBJ_NUM_MAX 255 | ||
188 | |||
189 | /* Names within the namespace are 4 bytes long */ | ||
190 | |||
191 | #define ACPI_NAME_SIZE 4 | ||
192 | #define ACPI_PATH_SEGMENT_LENGTH 5 /* 4 chars for name + 1 char for separator */ | ||
193 | #define ACPI_PATH_SEPARATOR '.' | ||
194 | |||
195 | /* Sizes for ACPI table headers */ | ||
196 | |||
197 | #define ACPI_OEM_ID_SIZE 6 | ||
198 | #define ACPI_OEM_TABLE_ID_SIZE 8 | ||
199 | |||
200 | /* Constants used in searching for the RSDP in low memory */ | ||
201 | |||
202 | #define ACPI_EBDA_PTR_LOCATION 0x0000040E /* Physical Address */ | ||
203 | #define ACPI_EBDA_PTR_LENGTH 2 | ||
204 | #define ACPI_EBDA_WINDOW_SIZE 1024 | ||
205 | #define ACPI_HI_RSDP_WINDOW_BASE 0x000E0000 /* Physical Address */ | ||
206 | #define ACPI_HI_RSDP_WINDOW_SIZE 0x00020000 | ||
207 | #define ACPI_RSDP_SCAN_STEP 16 | ||
208 | |||
209 | /* Operation regions */ | ||
210 | |||
211 | #define ACPI_USER_REGION_BEGIN 0x80 | ||
212 | |||
213 | /* Maximum space_ids for Operation Regions */ | ||
214 | |||
215 | #define ACPI_MAX_ADDRESS_SPACE 255 | ||
216 | |||
217 | /* Array sizes. Used for range checking also */ | ||
218 | |||
219 | #define ACPI_MAX_MATCH_OPCODE 5 | ||
220 | |||
221 | /* RSDP checksums */ | ||
222 | |||
223 | #define ACPI_RSDP_CHECKSUM_LENGTH 20 | ||
224 | #define ACPI_RSDP_XCHECKSUM_LENGTH 36 | ||
225 | |||
226 | /* SMBus, GSBus and IPMI bidirectional buffer size */ | ||
227 | |||
228 | #define ACPI_SMBUS_BUFFER_SIZE 34 | ||
229 | #define ACPI_GSBUS_BUFFER_SIZE 34 | ||
230 | #define ACPI_IPMI_BUFFER_SIZE 66 | ||
231 | |||
232 | /* _sx_d and _sx_w control methods */ | ||
233 | |||
234 | #define ACPI_NUM_sx_d_METHODS 4 | ||
235 | #define ACPI_NUM_sx_w_METHODS 5 | ||
236 | |||
237 | /****************************************************************************** | ||
238 | * | ||
239 | * ACPI AML Debugger | ||
240 | * | ||
241 | *****************************************************************************/ | ||
242 | |||
243 | #define ACPI_DEBUGGER_MAX_ARGS 8 /* Must be max method args + 1 */ | ||
244 | |||
245 | #define ACPI_DEBUGGER_COMMAND_PROMPT '-' | ||
246 | #define ACPI_DEBUGGER_EXECUTE_PROMPT '%' | ||
247 | |||
248 | #endif /* _ACCONFIG_H */ | ||
diff --git a/include/acpi/acexcep.h b/include/acpi/acexcep.h index 5b6c391efc8..47b3902957b 100644 --- a/include/acpi/acexcep.h +++ b/include/acpi/acexcep.h | |||
@@ -89,8 +89,9 @@ | |||
89 | #define AE_SAME_HANDLER (acpi_status) (0x0019 | AE_CODE_ENVIRONMENTAL) | 89 | #define AE_SAME_HANDLER (acpi_status) (0x0019 | AE_CODE_ENVIRONMENTAL) |
90 | #define AE_NO_HANDLER (acpi_status) (0x001A | AE_CODE_ENVIRONMENTAL) | 90 | #define AE_NO_HANDLER (acpi_status) (0x001A | AE_CODE_ENVIRONMENTAL) |
91 | #define AE_OWNER_ID_LIMIT (acpi_status) (0x001B | AE_CODE_ENVIRONMENTAL) | 91 | #define AE_OWNER_ID_LIMIT (acpi_status) (0x001B | AE_CODE_ENVIRONMENTAL) |
92 | #define AE_NOT_CONFIGURED (acpi_status) (0x001C | AE_CODE_ENVIRONMENTAL) | ||
92 | 93 | ||
93 | #define AE_CODE_ENV_MAX 0x001B | 94 | #define AE_CODE_ENV_MAX 0x001C |
94 | 95 | ||
95 | /* | 96 | /* |
96 | * Programmer exceptions | 97 | * Programmer exceptions |
@@ -213,7 +214,8 @@ char const *acpi_gbl_exception_names_env[] = { | |||
213 | "AE_ABORT_METHOD", | 214 | "AE_ABORT_METHOD", |
214 | "AE_SAME_HANDLER", | 215 | "AE_SAME_HANDLER", |
215 | "AE_NO_HANDLER", | 216 | "AE_NO_HANDLER", |
216 | "AE_OWNER_ID_LIMIT" | 217 | "AE_OWNER_ID_LIMIT", |
218 | "AE_NOT_CONFIGURED" | ||
217 | }; | 219 | }; |
218 | 220 | ||
219 | char const *acpi_gbl_exception_names_pgm[] = { | 221 | char const *acpi_gbl_exception_names_pgm[] = { |
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h index 67cd51c8ee0..e8600dd9257 100644 --- a/include/acpi/acpixf.h +++ b/include/acpi/acpixf.h | |||
@@ -49,6 +49,7 @@ | |||
49 | 49 | ||
50 | #define ACPI_CA_VERSION 0x20120111 | 50 | #define ACPI_CA_VERSION 0x20120111 |
51 | 51 | ||
52 | #include "acconfig.h" | ||
52 | #include "actypes.h" | 53 | #include "actypes.h" |
53 | #include "actbl.h" | 54 | #include "actbl.h" |
54 | 55 | ||
@@ -71,6 +72,33 @@ extern u8 acpi_gbl_copy_dsdt_locally; | |||
71 | extern u8 acpi_gbl_truncate_io_addresses; | 72 | extern u8 acpi_gbl_truncate_io_addresses; |
72 | extern u8 acpi_gbl_disable_auto_repair; | 73 | extern u8 acpi_gbl_disable_auto_repair; |
73 | 74 | ||
75 | /* | ||
76 | * Hardware-reduced prototypes. All interfaces that use these macros will | ||
77 | * be configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag | ||
78 | * is set to TRUE. | ||
79 | */ | ||
80 | #if (!ACPI_REDUCED_HARDWARE) | ||
81 | #define ACPI_HW_DEPENDENT_RETURN_STATUS(prototype) \ | ||
82 | prototype; | ||
83 | |||
84 | #define ACPI_HW_DEPENDENT_RETURN_OK(prototype) \ | ||
85 | prototype; | ||
86 | |||
87 | #define ACPI_HW_DEPENDENT_RETURN_VOID(prototype) \ | ||
88 | prototype; | ||
89 | |||
90 | #else | ||
91 | #define ACPI_HW_DEPENDENT_RETURN_STATUS(prototype) \ | ||
92 | static ACPI_INLINE prototype {return(AE_NOT_CONFIGURED);} | ||
93 | |||
94 | #define ACPI_HW_DEPENDENT_RETURN_OK(prototype) \ | ||
95 | static ACPI_INLINE prototype {return(AE_OK);} | ||
96 | |||
97 | #define ACPI_HW_DEPENDENT_RETURN_VOID(prototype) \ | ||
98 | static ACPI_INLINE prototype {} | ||
99 | |||
100 | #endif /* !ACPI_REDUCED_HARDWARE */ | ||
101 | |||
74 | extern u32 acpi_current_gpe_count; | 102 | extern u32 acpi_current_gpe_count; |
75 | extern struct acpi_table_fadt acpi_gbl_FADT; | 103 | extern struct acpi_table_fadt acpi_gbl_FADT; |
76 | extern u8 acpi_gbl_system_awake_and_running; | 104 | extern u8 acpi_gbl_system_awake_and_running; |
@@ -96,9 +124,8 @@ acpi_status acpi_terminate(void); | |||
96 | acpi_status acpi_subsystem_status(void); | 124 | acpi_status acpi_subsystem_status(void); |
97 | #endif | 125 | #endif |
98 | 126 | ||
99 | acpi_status acpi_enable(void); | 127 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_enable(void)) |
100 | 128 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_disable(void)) | |
101 | acpi_status acpi_disable(void); | ||
102 | 129 | ||
103 | #ifdef ACPI_FUTURE_USAGE | 130 | #ifdef ACPI_FUTURE_USAGE |
104 | acpi_status acpi_get_system_info(struct acpi_buffer *ret_buffer); | 131 | acpi_status acpi_get_system_info(struct acpi_buffer *ret_buffer); |
@@ -235,17 +262,34 @@ acpi_status acpi_get_parent(acpi_handle object, acpi_handle * out_handle); | |||
235 | acpi_status | 262 | acpi_status |
236 | acpi_install_initialization_handler(acpi_init_handler handler, u32 function); | 263 | acpi_install_initialization_handler(acpi_init_handler handler, u32 function); |
237 | 264 | ||
238 | acpi_status | 265 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
239 | acpi_install_global_event_handler(ACPI_GBL_EVENT_HANDLER handler, | 266 | acpi_install_global_event_handler |
240 | void *context); | 267 | (ACPI_GBL_EVENT_HANDLER handler, void *context)) |
241 | 268 | ||
242 | acpi_status | 269 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
243 | acpi_install_fixed_event_handler(u32 acpi_event, | 270 | acpi_install_fixed_event_handler(u32 |
244 | acpi_event_handler handler, void *context); | 271 | acpi_event, |
245 | 272 | acpi_event_handler | |
246 | acpi_status | 273 | handler, |
247 | acpi_remove_fixed_event_handler(u32 acpi_event, acpi_event_handler handler); | 274 | void |
248 | 275 | *context)) | |
276 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status | ||
277 | acpi_remove_fixed_event_handler(u32 acpi_event, | ||
278 | acpi_event_handler | ||
279 | handler)) | ||
280 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status | ||
281 | acpi_install_gpe_handler(acpi_handle | ||
282 | gpe_device, | ||
283 | u32 gpe_number, | ||
284 | u32 type, | ||
285 | acpi_gpe_handler | ||
286 | address, | ||
287 | void *context)) | ||
288 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status | ||
289 | acpi_remove_gpe_handler(acpi_handle gpe_device, | ||
290 | u32 gpe_number, | ||
291 | acpi_gpe_handler | ||
292 | address)) | ||
249 | acpi_status | 293 | acpi_status |
250 | acpi_install_notify_handler(acpi_handle device, | 294 | acpi_install_notify_handler(acpi_handle device, |
251 | u32 handler_type, | 295 | u32 handler_type, |
@@ -266,15 +310,6 @@ acpi_remove_address_space_handler(acpi_handle device, | |||
266 | acpi_adr_space_type space_id, | 310 | acpi_adr_space_type space_id, |
267 | acpi_adr_space_handler handler); | 311 | acpi_adr_space_handler handler); |
268 | 312 | ||
269 | acpi_status | ||
270 | acpi_install_gpe_handler(acpi_handle gpe_device, | ||
271 | u32 gpe_number, | ||
272 | u32 type, acpi_gpe_handler address, void *context); | ||
273 | |||
274 | acpi_status | ||
275 | acpi_remove_gpe_handler(acpi_handle gpe_device, | ||
276 | u32 gpe_number, acpi_gpe_handler address); | ||
277 | |||
278 | #ifdef ACPI_FUTURE_USAGE | 313 | #ifdef ACPI_FUTURE_USAGE |
279 | acpi_status acpi_install_exception_handler(acpi_exception_handler handler); | 314 | acpi_status acpi_install_exception_handler(acpi_exception_handler handler); |
280 | #endif | 315 | #endif |
@@ -284,9 +319,11 @@ acpi_status acpi_install_interface_handler(acpi_interface_handler handler); | |||
284 | /* | 319 | /* |
285 | * Global Lock interfaces | 320 | * Global Lock interfaces |
286 | */ | 321 | */ |
287 | acpi_status acpi_acquire_global_lock(u16 timeout, u32 * handle); | 322 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
288 | 323 | acpi_acquire_global_lock(u16 timeout, | |
289 | acpi_status acpi_release_global_lock(u32 handle); | 324 | u32 *handle)) |
325 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status | ||
326 | acpi_release_global_lock(u32 handle)) | ||
290 | 327 | ||
291 | /* | 328 | /* |
292 | * Interfaces to AML mutex objects | 329 | * Interfaces to AML mutex objects |
@@ -299,47 +336,75 @@ acpi_status acpi_release_mutex(acpi_handle handle, acpi_string pathname); | |||
299 | /* | 336 | /* |
300 | * Fixed Event interfaces | 337 | * Fixed Event interfaces |
301 | */ | 338 | */ |
302 | acpi_status acpi_enable_event(u32 event, u32 flags); | 339 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
303 | 340 | acpi_enable_event(u32 event, u32 flags)) | |
304 | acpi_status acpi_disable_event(u32 event, u32 flags); | ||
305 | 341 | ||
306 | acpi_status acpi_clear_event(u32 event); | 342 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
343 | acpi_disable_event(u32 event, u32 flags)) | ||
307 | 344 | ||
308 | acpi_status acpi_get_event_status(u32 event, acpi_event_status * event_status); | 345 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_clear_event(u32 event)) |
309 | 346 | ||
347 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status | ||
348 | acpi_get_event_status(u32 event, | ||
349 | acpi_event_status | ||
350 | *event_status)) | ||
310 | /* | 351 | /* |
311 | * General Purpose Event (GPE) Interfaces | 352 | * General Purpose Event (GPE) Interfaces |
312 | */ | 353 | */ |
313 | acpi_status acpi_enable_gpe(acpi_handle gpe_device, u32 gpe_number); | 354 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_update_all_gpes(void)) |
314 | 355 | ||
315 | acpi_status acpi_disable_gpe(acpi_handle gpe_device, u32 gpe_number); | 356 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
316 | 357 | acpi_enable_gpe(acpi_handle gpe_device, | |
317 | acpi_status acpi_clear_gpe(acpi_handle gpe_device, u32 gpe_number); | 358 | u32 gpe_number)) |
318 | 359 | ||
319 | acpi_status | 360 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
320 | acpi_setup_gpe_for_wake(acpi_handle parent_device, | 361 | acpi_disable_gpe(acpi_handle gpe_device, |
321 | acpi_handle gpe_device, u32 gpe_number); | 362 | u32 gpe_number)) |
322 | 363 | ||
323 | acpi_status acpi_set_gpe_wake_mask(acpi_handle gpe_device, u32 gpe_number, u8 action); | 364 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
324 | 365 | acpi_clear_gpe(acpi_handle gpe_device, | |
325 | acpi_status | 366 | u32 gpe_number)) |
326 | acpi_get_gpe_status(acpi_handle gpe_device, | 367 | |
327 | u32 gpe_number, acpi_event_status *event_status); | 368 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
328 | 369 | acpi_set_gpe(acpi_handle gpe_device, | |
329 | acpi_status acpi_disable_all_gpes(void); | 370 | u32 gpe_number, u8 action)) |
330 | 371 | ||
331 | acpi_status acpi_enable_all_runtime_gpes(void); | 372 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
332 | 373 | acpi_finish_gpe(acpi_handle gpe_device, | |
333 | acpi_status acpi_get_gpe_device(u32 gpe_index, acpi_handle *gpe_device); | 374 | u32 gpe_number)) |
334 | 375 | ||
335 | acpi_status | 376 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
336 | acpi_install_gpe_block(acpi_handle gpe_device, | 377 | acpi_setup_gpe_for_wake(acpi_handle |
337 | struct acpi_generic_address *gpe_block_address, | 378 | parent_device, |
338 | u32 register_count, u32 interrupt_number); | 379 | acpi_handle gpe_device, |
339 | 380 | u32 gpe_number)) | |
340 | acpi_status acpi_remove_gpe_block(acpi_handle gpe_device); | 381 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
341 | 382 | acpi_set_gpe_wake_mask(acpi_handle gpe_device, | |
342 | acpi_status acpi_update_all_gpes(void); | 383 | u32 gpe_number, |
384 | u8 action)) | ||
385 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status | ||
386 | acpi_get_gpe_status(acpi_handle gpe_device, | ||
387 | u32 gpe_number, | ||
388 | acpi_event_status | ||
389 | *event_status)) | ||
390 | |||
391 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_disable_all_gpes(void)) | ||
392 | |||
393 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_enable_all_runtime_gpes(void)) | ||
394 | |||
395 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status | ||
396 | acpi_get_gpe_device(u32 gpe_index, | ||
397 | acpi_handle * gpe_device)) | ||
398 | |||
399 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status | ||
400 | acpi_install_gpe_block(acpi_handle gpe_device, | ||
401 | struct | ||
402 | acpi_generic_address | ||
403 | *gpe_block_address, | ||
404 | u32 register_count, | ||
405 | u32 interrupt_number)) | ||
406 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status | ||
407 | acpi_remove_gpe_block(acpi_handle gpe_device)) | ||
343 | 408 | ||
344 | /* | 409 | /* |
345 | * Resource interfaces | 410 | * Resource interfaces |
@@ -391,20 +456,31 @@ acpi_buffer_to_resource(u8 *aml_buffer, | |||
391 | */ | 456 | */ |
392 | acpi_status acpi_reset(void); | 457 | acpi_status acpi_reset(void); |
393 | 458 | ||
394 | acpi_status acpi_read_bit_register(u32 register_id, u32 *return_value); | 459 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
460 | acpi_read_bit_register(u32 register_id, | ||
461 | u32 *return_value)) | ||
395 | 462 | ||
396 | acpi_status acpi_write_bit_register(u32 register_id, u32 value); | 463 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
464 | acpi_write_bit_register(u32 register_id, | ||
465 | u32 value)) | ||
397 | 466 | ||
398 | acpi_status acpi_set_firmware_waking_vector(u32 physical_address); | 467 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
468 | acpi_set_firmware_waking_vector(u32 | ||
469 | physical_address)) | ||
399 | 470 | ||
400 | #if ACPI_MACHINE_WIDTH == 64 | 471 | #if ACPI_MACHINE_WIDTH == 64 |
401 | acpi_status acpi_set_firmware_waking_vector64(u64 physical_address); | 472 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
473 | acpi_set_firmware_waking_vector64(u64 | ||
474 | physical_address)) | ||
402 | #endif | 475 | #endif |
403 | 476 | ||
404 | acpi_status acpi_read(u64 *value, struct acpi_generic_address *reg); | 477 | acpi_status acpi_read(u64 *value, struct acpi_generic_address *reg); |
405 | 478 | ||
406 | acpi_status acpi_write(u64 value, struct acpi_generic_address *reg); | 479 | acpi_status acpi_write(u64 value, struct acpi_generic_address *reg); |
407 | 480 | ||
481 | /* | ||
482 | * Sleep/Wake interfaces | ||
483 | */ | ||
408 | acpi_status | 484 | acpi_status |
409 | acpi_get_sleep_type_data(u8 sleep_state, u8 * slp_typ_a, u8 * slp_typ_b); | 485 | acpi_get_sleep_type_data(u8 sleep_state, u8 * slp_typ_a, u8 * slp_typ_b); |
410 | 486 | ||
@@ -412,7 +488,7 @@ acpi_status acpi_enter_sleep_state_prep(u8 sleep_state); | |||
412 | 488 | ||
413 | acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state); | 489 | acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state); |
414 | 490 | ||
415 | acpi_status asmlinkage acpi_enter_sleep_state_s4bios(void); | 491 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status asmlinkage acpi_enter_sleep_state_s4bios(void)) |
416 | 492 | ||
417 | acpi_status acpi_leave_sleep_state_prep(u8 sleep_state); | 493 | acpi_status acpi_leave_sleep_state_prep(u8 sleep_state); |
418 | 494 | ||
@@ -422,12 +498,15 @@ acpi_status acpi_leave_sleep_state(u8 sleep_state); | |||
422 | * ACPI Timer interfaces | 498 | * ACPI Timer interfaces |
423 | */ | 499 | */ |
424 | #ifdef ACPI_FUTURE_USAGE | 500 | #ifdef ACPI_FUTURE_USAGE |
425 | acpi_status acpi_get_timer_resolution(u32 *resolution); | 501 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
502 | acpi_get_timer_resolution(u32 *resolution)) | ||
426 | 503 | ||
427 | acpi_status acpi_get_timer(u32 *ticks); | 504 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_get_timer(u32 *ticks)) |
428 | 505 | ||
429 | acpi_status | 506 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status |
430 | acpi_get_timer_duration(u32 start_ticks, u32 end_ticks, u32 *time_elapsed); | 507 | acpi_get_timer_duration(u32 start_ticks, |
508 | u32 end_ticks, | ||
509 | u32 *time_elapsed)) | ||
431 | #endif /* ACPI_FUTURE_USAGE */ | 510 | #endif /* ACPI_FUTURE_USAGE */ |
432 | 511 | ||
433 | /* | 512 | /* |