Root/
1 | |
2 | /****************************************************************************** |
3 | * |
4 | * Name: acpixf.h - External interfaces to the ACPI subsystem |
5 | * |
6 | *****************************************************************************/ |
7 | |
8 | /* |
9 | * Copyright (C) 2000 - 2010, 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 0x20100121 |
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 pre_order_visit, |
158 | acpi_walk_callback post_order_visit, |
159 | void *context, void **return_value); |
160 | |
161 | acpi_status |
162 | acpi_get_devices(const char *HID, |
163 | acpi_walk_callback user_function, |
164 | void *context, void **return_value); |
165 | |
166 | acpi_status |
167 | acpi_get_name(acpi_handle handle, |
168 | u32 name_type, struct acpi_buffer *ret_path_ptr); |
169 | |
170 | acpi_status |
171 | acpi_get_handle(acpi_handle parent, |
172 | acpi_string pathname, acpi_handle * ret_handle); |
173 | |
174 | acpi_status |
175 | acpi_attach_data(acpi_handle obj_handle, |
176 | acpi_object_handler handler, void *data); |
177 | |
178 | acpi_status |
179 | acpi_detach_data(acpi_handle obj_handle, acpi_object_handler handler); |
180 | |
181 | acpi_status |
182 | acpi_get_data(acpi_handle obj_handle, acpi_object_handler handler, void **data); |
183 | |
184 | acpi_status |
185 | acpi_debug_trace(char *name, u32 debug_level, u32 debug_layer, u32 flags); |
186 | |
187 | /* |
188 | * Object manipulation and enumeration |
189 | */ |
190 | acpi_status |
191 | acpi_evaluate_object(acpi_handle object, |
192 | acpi_string pathname, |
193 | struct acpi_object_list *parameter_objects, |
194 | struct acpi_buffer *return_object_buffer); |
195 | |
196 | acpi_status |
197 | acpi_evaluate_object_typed(acpi_handle object, |
198 | acpi_string pathname, |
199 | struct acpi_object_list *external_params, |
200 | struct acpi_buffer *return_buffer, |
201 | acpi_object_type return_type); |
202 | |
203 | acpi_status |
204 | acpi_get_object_info(acpi_handle handle, |
205 | struct acpi_device_info **return_buffer); |
206 | |
207 | acpi_status acpi_install_method(u8 *buffer); |
208 | |
209 | acpi_status |
210 | acpi_get_next_object(acpi_object_type type, |
211 | acpi_handle parent, |
212 | acpi_handle child, acpi_handle * out_handle); |
213 | |
214 | acpi_status acpi_get_type(acpi_handle object, acpi_object_type * out_type); |
215 | |
216 | acpi_status acpi_get_id(acpi_handle object, acpi_owner_id * out_type); |
217 | |
218 | acpi_status acpi_get_parent(acpi_handle object, acpi_handle * out_handle); |
219 | |
220 | /* |
221 | * Handler interfaces |
222 | */ |
223 | acpi_status |
224 | acpi_install_initialization_handler(acpi_init_handler handler, u32 function); |
225 | |
226 | acpi_status |
227 | acpi_install_fixed_event_handler(u32 acpi_event, |
228 | acpi_event_handler handler, void *context); |
229 | |
230 | acpi_status |
231 | acpi_remove_fixed_event_handler(u32 acpi_event, acpi_event_handler handler); |
232 | |
233 | acpi_status |
234 | acpi_install_notify_handler(acpi_handle device, |
235 | u32 handler_type, |
236 | acpi_notify_handler handler, void *context); |
237 | |
238 | acpi_status |
239 | acpi_remove_notify_handler(acpi_handle device, |
240 | u32 handler_type, acpi_notify_handler handler); |
241 | |
242 | acpi_status |
243 | acpi_install_address_space_handler(acpi_handle device, |
244 | acpi_adr_space_type space_id, |
245 | acpi_adr_space_handler handler, |
246 | acpi_adr_space_setup setup, void *context); |
247 | |
248 | acpi_status |
249 | acpi_remove_address_space_handler(acpi_handle device, |
250 | acpi_adr_space_type space_id, |
251 | acpi_adr_space_handler handler); |
252 | |
253 | acpi_status |
254 | acpi_install_gpe_handler(acpi_handle gpe_device, |
255 | u32 gpe_number, |
256 | u32 type, acpi_event_handler address, void *context); |
257 | |
258 | acpi_status |
259 | acpi_remove_gpe_handler(acpi_handle gpe_device, |
260 | u32 gpe_number, acpi_event_handler address); |
261 | |
262 | #ifdef ACPI_FUTURE_USAGE |
263 | acpi_status acpi_install_exception_handler(acpi_exception_handler handler); |
264 | #endif |
265 | |
266 | /* |
267 | * Event interfaces |
268 | */ |
269 | acpi_status acpi_acquire_global_lock(u16 timeout, u32 * handle); |
270 | |
271 | acpi_status acpi_release_global_lock(u32 handle); |
272 | |
273 | acpi_status acpi_enable_event(u32 event, u32 flags); |
274 | |
275 | acpi_status acpi_disable_event(u32 event, u32 flags); |
276 | |
277 | acpi_status acpi_clear_event(u32 event); |
278 | |
279 | acpi_status acpi_get_event_status(u32 event, acpi_event_status * event_status); |
280 | |
281 | /* |
282 | * GPE Interfaces |
283 | */ |
284 | acpi_status acpi_set_gpe(acpi_handle gpe_device, u32 gpe_number, u8 action); |
285 | |
286 | acpi_status acpi_enable_gpe(acpi_handle gpe_device, u32 gpe_number, u8 type); |
287 | |
288 | acpi_status acpi_disable_gpe(acpi_handle gpe_device, u32 gpe_number, u8 type); |
289 | |
290 | acpi_status acpi_clear_gpe(acpi_handle gpe_device, u32 gpe_number, u32 flags); |
291 | |
292 | acpi_status |
293 | acpi_get_gpe_status(acpi_handle gpe_device, |
294 | u32 gpe_number, |
295 | u32 flags, acpi_event_status * event_status); |
296 | |
297 | acpi_status acpi_disable_all_gpes(void); |
298 | |
299 | acpi_status acpi_enable_all_runtime_gpes(void); |
300 | |
301 | acpi_status acpi_get_gpe_device(u32 gpe_index, acpi_handle *gpe_device); |
302 | |
303 | acpi_status |
304 | acpi_install_gpe_block(acpi_handle gpe_device, |
305 | struct acpi_generic_address *gpe_block_address, |
306 | u32 register_count, u32 interrupt_number); |
307 | |
308 | acpi_status acpi_remove_gpe_block(acpi_handle gpe_device); |
309 | |
310 | /* |
311 | * Resource interfaces |
312 | */ |
313 | typedef |
314 | acpi_status(*acpi_walk_resource_callback) (struct acpi_resource * resource, |
315 | void *context); |
316 | |
317 | acpi_status |
318 | acpi_get_vendor_resource(acpi_handle device_handle, |
319 | char *name, |
320 | struct acpi_vendor_uuid *uuid, |
321 | struct acpi_buffer *ret_buffer); |
322 | |
323 | acpi_status |
324 | acpi_get_current_resources(acpi_handle device_handle, |
325 | struct acpi_buffer *ret_buffer); |
326 | |
327 | #ifdef ACPI_FUTURE_USAGE |
328 | acpi_status |
329 | acpi_get_possible_resources(acpi_handle device_handle, |
330 | struct acpi_buffer *ret_buffer); |
331 | #endif |
332 | |
333 | acpi_status |
334 | acpi_walk_resources(acpi_handle device_handle, |
335 | char *name, |
336 | acpi_walk_resource_callback user_function, void *context); |
337 | |
338 | acpi_status |
339 | acpi_set_current_resources(acpi_handle device_handle, |
340 | struct acpi_buffer *in_buffer); |
341 | |
342 | acpi_status |
343 | acpi_get_irq_routing_table(acpi_handle bus_device_handle, |
344 | struct acpi_buffer *ret_buffer); |
345 | |
346 | acpi_status |
347 | acpi_resource_to_address64(struct acpi_resource *resource, |
348 | struct acpi_resource_address64 *out); |
349 | |
350 | /* |
351 | * Hardware (ACPI device) interfaces |
352 | */ |
353 | acpi_status acpi_reset(void); |
354 | |
355 | acpi_status acpi_read_bit_register(u32 register_id, u32 *return_value); |
356 | |
357 | acpi_status acpi_write_bit_register(u32 register_id, u32 value); |
358 | |
359 | acpi_status acpi_set_firmware_waking_vector(u32 physical_address); |
360 | |
361 | #if ACPI_MACHINE_WIDTH == 64 |
362 | acpi_status acpi_set_firmware_waking_vector64(u64 physical_address); |
363 | #endif |
364 | |
365 | acpi_status acpi_read(u64 *value, struct acpi_generic_address *reg); |
366 | |
367 | acpi_status acpi_write(u64 value, struct acpi_generic_address *reg); |
368 | |
369 | acpi_status |
370 | acpi_get_sleep_type_data(u8 sleep_state, u8 * slp_typ_a, u8 * slp_typ_b); |
371 | |
372 | acpi_status acpi_enter_sleep_state_prep(u8 sleep_state); |
373 | |
374 | acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state); |
375 | |
376 | acpi_status asmlinkage acpi_enter_sleep_state_s4bios(void); |
377 | |
378 | acpi_status acpi_leave_sleep_state_prep(u8 sleep_state); |
379 | |
380 | acpi_status acpi_leave_sleep_state(u8 sleep_state); |
381 | |
382 | /* |
383 | * Error/Warning output |
384 | */ |
385 | void ACPI_INTERNAL_VAR_XFACE |
386 | acpi_error(const char *module_name, |
387 | u32 line_number, const char *format, ...) ACPI_PRINTF_LIKE(3); |
388 | |
389 | void ACPI_INTERNAL_VAR_XFACE |
390 | acpi_exception(const char *module_name, |
391 | u32 line_number, |
392 | acpi_status status, const char *format, ...) ACPI_PRINTF_LIKE(4); |
393 | |
394 | void ACPI_INTERNAL_VAR_XFACE |
395 | acpi_warning(const char *module_name, |
396 | u32 line_number, const char *format, ...) ACPI_PRINTF_LIKE(3); |
397 | |
398 | void ACPI_INTERNAL_VAR_XFACE |
399 | acpi_info(const char *module_name, |
400 | u32 line_number, const char *format, ...) ACPI_PRINTF_LIKE(3); |
401 | |
402 | /* |
403 | * Debug output |
404 | */ |
405 | #ifdef ACPI_DEBUG_OUTPUT |
406 | |
407 | void ACPI_INTERNAL_VAR_XFACE |
408 | acpi_debug_print(u32 requested_debug_level, |
409 | u32 line_number, |
410 | const char *function_name, |
411 | const char *module_name, |
412 | u32 component_id, const char *format, ...) ACPI_PRINTF_LIKE(6); |
413 | |
414 | void ACPI_INTERNAL_VAR_XFACE |
415 | acpi_debug_print_raw(u32 requested_debug_level, |
416 | u32 line_number, |
417 | const char *function_name, |
418 | const char *module_name, |
419 | u32 component_id, |
420 | const char *format, ...) ACPI_PRINTF_LIKE(6); |
421 | #endif |
422 | |
423 | #endif /* __ACXFACE_H__ */ |
424 |
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