diff options
Diffstat (limited to 'include/acpi/acpixf.h')
-rw-r--r-- | include/acpi/acpixf.h | 229 |
1 files changed, 160 insertions, 69 deletions
diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h index a28da35ba45..98211013467 100644 --- a/include/acpi/acpixf.h +++ b/include/acpi/acpixf.h | |||
@@ -47,8 +47,9 @@ | |||
47 | 47 | ||
48 | /* Current ACPICA subsystem version in YYYYMMDD format */ | 48 | /* Current ACPICA subsystem version in YYYYMMDD format */ |
49 | 49 | ||
50 | #define ACPI_CA_VERSION 0x20120111 | 50 | #define ACPI_CA_VERSION 0x20120320 |
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,34 +456,60 @@ 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 | ||
411 | acpi_status acpi_enter_sleep_state_prep(u8 sleep_state); | 487 | 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, u8 flags); |
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, u8 flags); |
418 | 494 | ||
419 | acpi_status acpi_leave_sleep_state(u8 sleep_state); | 495 | acpi_status acpi_leave_sleep_state(u8 sleep_state); |
420 | 496 | ||
421 | /* | 497 | /* |
498 | * ACPI Timer interfaces | ||
499 | */ | ||
500 | #ifdef ACPI_FUTURE_USAGE | ||
501 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status | ||
502 | acpi_get_timer_resolution(u32 *resolution)) | ||
503 | |||
504 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_get_timer(u32 *ticks)) | ||
505 | |||
506 | ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status | ||
507 | acpi_get_timer_duration(u32 start_ticks, | ||
508 | u32 end_ticks, | ||
509 | u32 *time_elapsed)) | ||
510 | #endif /* ACPI_FUTURE_USAGE */ | ||
511 | |||
512 | /* | ||
422 | * Error/Warning output | 513 | * Error/Warning output |
423 | */ | 514 | */ |
424 | void ACPI_INTERNAL_VAR_XFACE | 515 | void ACPI_INTERNAL_VAR_XFACE |