Root/
1 | |
2 | /****************************************************************************** |
3 | * |
4 | * Name: acpixf.h - External interfaces to the ACPI subsystem |
5 | * |
6 | *****************************************************************************/ |
7 | |
8 | /* |
9 | * Copyright (C) 2000 - 2008, Intel Corp. |
10 | * All rights reserved. |
11 | * |
12 | * Redistribution and use in source and binary forms, with or without |
13 | * modification, are permitted provided that the following conditions |
14 | * are met: |
15 | * 1. Redistributions of source code must retain the above copyright |
16 | * notice, this list of conditions, and the following disclaimer, |
17 | * without modification. |
18 | * 2. Redistributions in binary form must reproduce at minimum a disclaimer |
19 | * substantially similar to the "NO WARRANTY" disclaimer below |
20 | * ("Disclaimer") and any redistribution must be conditioned upon |
21 | * including a substantially similar Disclaimer requirement for further |
22 | * binary redistribution. |
23 | * 3. Neither the names of the above-listed copyright holders nor the names |
24 | * of any contributors may be used to endorse or promote products derived |
25 | * from this software without specific prior written permission. |
26 | * |
27 | * Alternatively, this software may be distributed under the terms of the |
28 | * GNU General Public License ("GPL") version 2 as published by the Free |
29 | * Software Foundation. |
30 | * |
31 | * NO WARRANTY |
32 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
33 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
34 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR |
35 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
36 | * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
37 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
38 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
39 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
40 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING |
41 | * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
42 | * POSSIBILITY OF SUCH DAMAGES. |
43 | */ |
44 | |
45 | #ifndef __ACXFACE_H__ |
46 | #define __ACXFACE_H__ |
47 | |
48 | /* Current ACPICA subsystem version in YYYYMMDD format */ |
49 | |
50 | #define ACPI_CA_VERSION 0x20090903 |
51 | |
52 | #include "actypes.h" |
53 | #include "actbl.h" |
54 | |
55 | extern u8 acpi_gbl_permanent_mmap; |
56 | |
57 | /* |
58 | * Globals that are publically available, allowing for |
59 | * run time configuration |
60 | */ |
61 | extern u32 acpi_dbg_level; |
62 | extern u32 acpi_dbg_layer; |
63 | extern u8 acpi_gbl_enable_interpreter_slack; |
64 | extern u8 acpi_gbl_all_methods_serialized; |
65 | extern u8 acpi_gbl_create_osi_method; |
66 | extern u8 acpi_gbl_leave_wake_gpes_disabled; |
67 | extern u8 acpi_gbl_use_default_register_widths; |
68 | extern acpi_name acpi_gbl_trace_method_name; |
69 | extern u32 acpi_gbl_trace_flags; |
70 | |
71 | extern u32 acpi_current_gpe_count; |
72 | extern struct acpi_table_fadt acpi_gbl_FADT; |
73 | |
74 | extern u32 acpi_rsdt_forced; |
75 | /* |
76 | * Global interfaces |
77 | */ |
78 | acpi_status |
79 | acpi_initialize_tables(struct acpi_table_desc *initial_storage, |
80 | u32 initial_table_count, u8 allow_resize); |
81 | |
82 | acpi_status __init acpi_initialize_subsystem(void); |
83 | |
84 | acpi_status acpi_enable_subsystem(u32 flags); |
85 | |
86 | acpi_status acpi_initialize_objects(u32 flags); |
87 | |
88 | acpi_status acpi_terminate(void); |
89 | |
90 | #ifdef ACPI_FUTURE_USAGE |
91 | acpi_status acpi_subsystem_status(void); |
92 | #endif |
93 | |
94 | acpi_status acpi_enable(void); |
95 | |
96 | acpi_status acpi_disable(void); |
97 | |
98 | #ifdef ACPI_FUTURE_USAGE |
99 | acpi_status acpi_get_system_info(struct acpi_buffer *ret_buffer); |
100 | #endif |
101 | |
102 | const char *acpi_format_exception(acpi_status exception); |
103 | |
104 | acpi_status acpi_purge_cached_objects(void); |
105 | |
106 | /* |
107 | * ACPI Memory management |
108 | */ |
109 | void *acpi_allocate(u32 size); |
110 | |
111 | void *acpi_callocate(u32 size); |
112 | |
113 | void acpi_free(void *address); |
114 | |
115 | /* |
116 | * ACPI table manipulation interfaces |
117 | */ |
118 | acpi_status acpi_reallocate_root_table(void); |
119 | |
120 | acpi_status acpi_find_root_pointer(acpi_size *rsdp_address); |
121 | |
122 | acpi_status acpi_load_tables(void); |
123 | |
124 | acpi_status acpi_load_table(struct acpi_table_header *table_ptr); |
125 | |
126 | acpi_status acpi_unload_table_id(acpi_owner_id id); |
127 | |
128 | acpi_status |
129 | acpi_get_table_header(acpi_string signature, |
130 | u32 instance, |
131 | struct acpi_table_header *out_table_header); |
132 | |
133 | acpi_status |
134 | acpi_get_table_with_size(acpi_string signature, |
135 | u32 instance, struct acpi_table_header **out_table, |
136 | acpi_size *tbl_size); |
137 | acpi_status |
138 | acpi_get_table(acpi_string signature, |
139 | u32 instance, struct acpi_table_header **out_table); |
140 | |
141 | acpi_status |
142 | acpi_get_table_by_index(u32 table_index, |
143 | struct acpi_table_header **out_table); |
144 | |
145 | acpi_status |
146 | acpi_install_table_handler(acpi_tbl_handler handler, void *context); |
147 | |
148 | acpi_status acpi_remove_table_handler(acpi_tbl_handler handler); |
149 | |
150 | /* |
151 | * Namespace and name interfaces |
152 | */ |
153 | acpi_status |
154 | acpi_walk_namespace(acpi_object_type type, |
155 | acpi_handle start_object, |
156 | u32 max_depth, |
157 | acpi_walk_callback user_function, |
158 | void *context, void **return_value); |
159 | |
160 | acpi_status |
161 | acpi_get_devices(const char *HID, |
162 | acpi_walk_callback user_function, |
163 | void *context, void **return_value); |
164 | |
165 | acpi_status |
166 | acpi_get_name(acpi_handle handle, |
167 | u32 name_type, struct acpi_buffer *ret_path_ptr); |
168 | |
169 | acpi_status |
170 | acpi_get_handle(acpi_handle parent, |
171 | acpi_string pathname, acpi_handle * ret_handle); |
172 | |
173 | acpi_status |
174 | acpi_attach_data(acpi_handle obj_handle, |
175 | acpi_object_handler handler, void *data); |
176 | |
177 | acpi_status |
178 | acpi_detach_data(acpi_handle obj_handle, acpi_object_handler handler); |
179 | |
180 | acpi_status |
181 | acpi_get_data(acpi_handle obj_handle, acpi_object_handler handler, void **data); |
182 | |
183 | acpi_status |
184 | acpi_debug_trace(char *name, u32 debug_level, u32 debug_layer, u32 flags); |
185 | |
186 | /* |
187 | * Object manipulation and enumeration |
188 | */ |
189 | acpi_status |
190 | acpi_evaluate_object(acpi_handle object, |
191 | acpi_string pathname, |
192 | struct acpi_object_list *parameter_objects, |
193 | struct acpi_buffer *return_object_buffer); |
194 | |
195 | acpi_status |
196 | acpi_evaluate_object_typed(acpi_handle object, |
197 | acpi_string pathname, |
198 | struct acpi_object_list *external_params, |
199 | struct acpi_buffer *return_buffer, |
200 | acpi_object_type return_type); |
201 | |
202 | acpi_status |
203 | acpi_get_object_info(acpi_handle handle, |
204 | struct acpi_device_info **return_buffer); |
205 | |
206 | acpi_status acpi_install_method(u8 *buffer); |
207 | |
208 | acpi_status |
209 | acpi_get_next_object(acpi_object_type type, |
210 | acpi_handle parent, |
211 | acpi_handle child, acpi_handle * out_handle); |
212 | |
213 | acpi_status acpi_get_type(acpi_handle object, acpi_object_type * out_type); |
214 | |
215 | acpi_status acpi_get_id(acpi_handle object, acpi_owner_id * out_type); |
216 | |
217 | acpi_status acpi_get_parent(acpi_handle object, acpi_handle * out_handle); |
218 | |
219 | /* |
220 | * Handler interfaces |
221 | */ |
222 | acpi_status |
223 | acpi_install_initialization_handler(acpi_init_handler handler, u32 function); |
224 | |
225 | acpi_status |
226 | acpi_install_fixed_event_handler(u32 acpi_event, |
227 | acpi_event_handler handler, void *context); |
228 | |
229 | acpi_status |
230 | acpi_remove_fixed_event_handler(u32 acpi_event, acpi_event_handler handler); |
231 | |
232 | acpi_status |
233 | acpi_install_notify_handler(acpi_handle device, |
234 | u32 handler_type, |
235 | acpi_notify_handler handler, void *context); |
236 | |
237 | acpi_status |
238 | acpi_remove_notify_handler(acpi_handle device, |
239 | u32 handler_type, acpi_notify_handler handler); |
240 | |
241 | acpi_status |
242 | acpi_install_address_space_handler(acpi_handle device, |
243 | acpi_adr_space_type space_id, |
244 | acpi_adr_space_handler handler, |
245 | acpi_adr_space_setup setup, void *context); |
246 | |
247 | acpi_status |
248 | acpi_remove_address_space_handler(acpi_handle device, |
249 | acpi_adr_space_type space_id, |
250 | acpi_adr_space_handler handler); |
251 | |
252 | acpi_status |
253 | acpi_install_gpe_handler(acpi_handle gpe_device, |
254 | u32 gpe_number, |
255 | u32 type, acpi_event_handler address, void *context); |
256 | |
257 | acpi_status |
258 | acpi_remove_gpe_handler(acpi_handle gpe_device, |
259 | u32 gpe_number, acpi_event_handler address); |
260 | |
261 | #ifdef ACPI_FUTURE_USAGE |
262 | acpi_status acpi_install_exception_handler(acpi_exception_handler handler); |
263 | #endif |
264 | |
265 | /* |
266 | * Event interfaces |
267 | */ |
268 | acpi_status acpi_acquire_global_lock(u16 timeout, u32 * handle); |
269 | |
270 | acpi_status acpi_release_global_lock(u32 handle); |
271 | |
272 | acpi_status acpi_enable_event(u32 event, u32 flags); |
273 | |
274 | acpi_status acpi_disable_event(u32 event, u32 flags); |
275 | |
276 | acpi_status acpi_clear_event(u32 event); |
277 | |
278 | acpi_status acpi_get_event_status(u32 event, acpi_event_status * event_status); |
279 | |
280 | /* |
281 | * GPE Interfaces |
282 | */ |
283 | acpi_status acpi_set_gpe_type(acpi_handle gpe_device, u32 gpe_number, u8 type); |
284 | |
285 | acpi_status acpi_enable_gpe(acpi_handle gpe_device, u32 gpe_number); |
286 | |
287 | acpi_status acpi_disable_gpe(acpi_handle gpe_device, u32 gpe_number); |
288 | |
289 | acpi_status acpi_clear_gpe(acpi_handle gpe_device, u32 gpe_number, u32 flags); |
290 | |
291 | acpi_status |
292 | acpi_get_gpe_status(acpi_handle gpe_device, |
293 | u32 gpe_number, |
294 | u32 flags, acpi_event_status * event_status); |
295 | |
296 | acpi_status acpi_disable_all_gpes(void); |
297 | |
298 | acpi_status acpi_enable_all_runtime_gpes(void); |
299 | |
300 | acpi_status acpi_get_gpe_device(u32 gpe_index, acpi_handle *gpe_device); |
301 | |
302 | acpi_status |
303 | acpi_install_gpe_block(acpi_handle gpe_device, |
304 | struct acpi_generic_address *gpe_block_address, |
305 | u32 register_count, u32 interrupt_number); |
306 | |
307 | acpi_status acpi_remove_gpe_block(acpi_handle gpe_device); |
308 | |
309 | /* |
310 | * Resource interfaces |
311 | */ |
312 | typedef |
313 | acpi_status(*acpi_walk_resource_callback) (struct acpi_resource * resource, |
314 | void *context); |
315 | |
316 | acpi_status |
317 | acpi_get_vendor_resource(acpi_handle device_handle, |
318 | char *name, |
319 | struct acpi_vendor_uuid *uuid, |
320 | struct acpi_buffer *ret_buffer); |
321 | |
322 | acpi_status |
323 | acpi_get_current_resources(acpi_handle device_handle, |
324 | struct acpi_buffer *ret_buffer); |
325 | |
326 | #ifdef ACPI_FUTURE_USAGE |
327 | acpi_status |
328 | acpi_get_possible_resources(acpi_handle device_handle, |
329 | struct acpi_buffer *ret_buffer); |
330 | #endif |
331 | |
332 | acpi_status |
333 | acpi_walk_resources(acpi_handle device_handle, |
334 | char *name, |
335 | acpi_walk_resource_callback user_function, void *context); |
336 | |
337 | acpi_status |
338 | acpi_set_current_resources(acpi_handle device_handle, |
339 | struct acpi_buffer *in_buffer); |
340 | |
341 | acpi_status |
342 | acpi_get_irq_routing_table(acpi_handle bus_device_handle, |
343 | struct acpi_buffer *ret_buffer); |
344 | |
345 | acpi_status |
346 | acpi_resource_to_address64(struct acpi_resource *resource, |
347 | struct acpi_resource_address64 *out); |
348 | |
349 | /* |
350 | * Hardware (ACPI device) interfaces |
351 | */ |
352 | acpi_status acpi_reset(void); |
353 | |
354 | acpi_status acpi_read_bit_register(u32 register_id, u32 *return_value); |
355 | |
356 | acpi_status acpi_write_bit_register(u32 register_id, u32 value); |
357 | |
358 | acpi_status acpi_set_firmware_waking_vector(u32 physical_address); |
359 | |
360 | #if ACPI_MACHINE_WIDTH == 64 |
361 | acpi_status acpi_set_firmware_waking_vector64(u64 physical_address); |
362 | #endif |
363 | |
364 | acpi_status acpi_read(u64 *value, struct acpi_generic_address *reg); |
365 | |
366 | acpi_status acpi_write(u64 value, struct acpi_generic_address *reg); |
367 | |
368 | acpi_status |
369 | acpi_get_sleep_type_data(u8 sleep_state, u8 * slp_typ_a, u8 * slp_typ_b); |
370 | |
371 | acpi_status acpi_enter_sleep_state_prep(u8 sleep_state); |
372 | |
373 | acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state); |
374 | |
375 | acpi_status asmlinkage acpi_enter_sleep_state_s4bios(void); |
376 | |
377 | acpi_status acpi_leave_sleep_state_prep(u8 sleep_state); |
378 | |
379 | acpi_status acpi_leave_sleep_state(u8 sleep_state); |
380 | |
381 | /* |
382 | * Error/Warning output |
383 | */ |
384 | void ACPI_INTERNAL_VAR_XFACE |
385 | acpi_error(const char *module_name, |
386 | u32 line_number, const char *format, ...) ACPI_PRINTF_LIKE(3); |
387 | |
388 | void ACPI_INTERNAL_VAR_XFACE |
389 | acpi_exception(const char *module_name, |
390 | u32 line_number, |
391 | acpi_status status, const char *format, ...) ACPI_PRINTF_LIKE(4); |
392 | |
393 | void ACPI_INTERNAL_VAR_XFACE |
394 | acpi_warning(const char *module_name, |
395 | u32 line_number, const char *format, ...) ACPI_PRINTF_LIKE(3); |
396 | |
397 | void ACPI_INTERNAL_VAR_XFACE |
398 | acpi_info(const char *module_name, |
399 | u32 line_number, const char *format, ...) ACPI_PRINTF_LIKE(3); |
400 | |
401 | /* |
402 | * Debug output |
403 | */ |
404 | #ifdef ACPI_DEBUG_OUTPUT |
405 | |
406 | void ACPI_INTERNAL_VAR_XFACE |
407 | acpi_debug_print(u32 requested_debug_level, |
408 | u32 line_number, |
409 | const char *function_name, |
410 | const char *module_name, |
411 | u32 component_id, const char *format, ...) ACPI_PRINTF_LIKE(6); |
412 | |
413 | void ACPI_INTERNAL_VAR_XFACE |
414 | acpi_debug_print_raw(u32 requested_debug_level, |
415 | u32 line_number, |
416 | const char *function_name, |
417 | const char *module_name, |
418 | u32 component_id, |
419 | const char *format, ...) ACPI_PRINTF_LIKE(6); |
420 | #endif |
421 | |
422 | #endif /* __ACXFACE_H__ */ |
423 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9