11da177e4SLinus Torvalds 21da177e4SLinus Torvalds /****************************************************************************** 31da177e4SLinus Torvalds * 41da177e4SLinus Torvalds * Name: acpixf.h - External interfaces to the ACPI subsystem 51da177e4SLinus Torvalds * 61da177e4SLinus Torvalds *****************************************************************************/ 71da177e4SLinus Torvalds 81da177e4SLinus Torvalds /* 9b4e104eaSBob Moore * Copyright (C) 2000 - 2011, Intel Corp. 101da177e4SLinus Torvalds * All rights reserved. 111da177e4SLinus Torvalds * 121da177e4SLinus Torvalds * Redistribution and use in source and binary forms, with or without 131da177e4SLinus Torvalds * modification, are permitted provided that the following conditions 141da177e4SLinus Torvalds * are met: 151da177e4SLinus Torvalds * 1. Redistributions of source code must retain the above copyright 161da177e4SLinus Torvalds * notice, this list of conditions, and the following disclaimer, 171da177e4SLinus Torvalds * without modification. 181da177e4SLinus Torvalds * 2. Redistributions in binary form must reproduce at minimum a disclaimer 191da177e4SLinus Torvalds * substantially similar to the "NO WARRANTY" disclaimer below 201da177e4SLinus Torvalds * ("Disclaimer") and any redistribution must be conditioned upon 211da177e4SLinus Torvalds * including a substantially similar Disclaimer requirement for further 221da177e4SLinus Torvalds * binary redistribution. 231da177e4SLinus Torvalds * 3. Neither the names of the above-listed copyright holders nor the names 241da177e4SLinus Torvalds * of any contributors may be used to endorse or promote products derived 251da177e4SLinus Torvalds * from this software without specific prior written permission. 261da177e4SLinus Torvalds * 271da177e4SLinus Torvalds * Alternatively, this software may be distributed under the terms of the 281da177e4SLinus Torvalds * GNU General Public License ("GPL") version 2 as published by the Free 291da177e4SLinus Torvalds * Software Foundation. 301da177e4SLinus Torvalds * 311da177e4SLinus Torvalds * NO WARRANTY 321da177e4SLinus Torvalds * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 331da177e4SLinus Torvalds * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 341da177e4SLinus Torvalds * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 351da177e4SLinus Torvalds * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 361da177e4SLinus Torvalds * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 371da177e4SLinus Torvalds * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 381da177e4SLinus Torvalds * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 391da177e4SLinus Torvalds * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 401da177e4SLinus Torvalds * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 411da177e4SLinus Torvalds * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 421da177e4SLinus Torvalds * POSSIBILITY OF SUCH DAMAGES. 431da177e4SLinus Torvalds */ 441da177e4SLinus Torvalds 451da177e4SLinus Torvalds #ifndef __ACXFACE_H__ 461da177e4SLinus Torvalds #define __ACXFACE_H__ 471da177e4SLinus Torvalds 4850df4d8bSBob Moore /* Current ACPICA subsystem version in YYYYMMDD format */ 4950df4d8bSBob Moore 5080f40ce0SBob Moore #define ACPI_CA_VERSION 0x20110527 5150df4d8bSBob Moore 521da177e4SLinus Torvalds #include "actypes.h" 531da177e4SLinus Torvalds #include "actbl.h" 541da177e4SLinus Torvalds 55889c78beSLin Ming extern u8 acpi_gbl_permanent_mmap; 56889c78beSLin Ming 571da177e4SLinus Torvalds /* 5858f87ed0SLucas De Marchi * Globals that are publicly available, allowing for 5950df4d8bSBob Moore * run time configuration 6050df4d8bSBob Moore */ 6150df4d8bSBob Moore extern u32 acpi_dbg_level; 6250df4d8bSBob Moore extern u32 acpi_dbg_layer; 6350df4d8bSBob Moore extern u8 acpi_gbl_enable_interpreter_slack; 6450df4d8bSBob Moore extern u8 acpi_gbl_all_methods_serialized; 6550df4d8bSBob Moore extern u8 acpi_gbl_create_osi_method; 66f8d80cdfSBob Moore extern u8 acpi_gbl_use_default_register_widths; 6750df4d8bSBob Moore extern acpi_name acpi_gbl_trace_method_name; 6850df4d8bSBob Moore extern u32 acpi_gbl_trace_flags; 69c637e486SZhang Rui extern u32 acpi_gbl_enable_aml_debug_object; 7069ec87efSLin Ming extern u8 acpi_gbl_copy_dsdt_locally; 71b681f7d9SMatthew Garrett extern u8 acpi_gbl_truncate_io_addresses; 72*d57b23adSBob Moore extern u8 acpi_gbl_disable_auto_repair; 7350df4d8bSBob Moore 7450df4d8bSBob Moore extern u32 acpi_current_gpe_count; 7550df4d8bSBob Moore extern struct acpi_table_fadt acpi_gbl_FADT; 7631b3d4c3SBob Moore extern u8 acpi_gbl_system_awake_and_running; 7750df4d8bSBob Moore 78237889bfSZhao Yakui extern u32 acpi_rsdt_forced; 7950df4d8bSBob Moore /* 801da177e4SLinus Torvalds * Global interfaces 811da177e4SLinus Torvalds */ 82f3d2e786SBob Moore acpi_status 83f3d2e786SBob Moore acpi_initialize_tables(struct acpi_table_desc *initial_storage, 84f3d2e786SBob Moore u32 initial_table_count, u8 allow_resize); 85f3d2e786SBob Moore 86dd272b57SLen Brown acpi_status __init acpi_initialize_subsystem(void); 871da177e4SLinus Torvalds 884be44fcdSLen Brown acpi_status acpi_enable_subsystem(u32 flags); 891da177e4SLinus Torvalds 904be44fcdSLen Brown acpi_status acpi_initialize_objects(u32 flags); 911da177e4SLinus Torvalds 924be44fcdSLen Brown acpi_status acpi_terminate(void); 931da177e4SLinus Torvalds 941da177e4SLinus Torvalds #ifdef ACPI_FUTURE_USAGE 954be44fcdSLen Brown acpi_status acpi_subsystem_status(void); 961da177e4SLinus Torvalds #endif 971da177e4SLinus Torvalds 984be44fcdSLen Brown acpi_status acpi_enable(void); 991da177e4SLinus Torvalds 1004be44fcdSLen Brown acpi_status acpi_disable(void); 1011da177e4SLinus Torvalds 1021da177e4SLinus Torvalds #ifdef ACPI_FUTURE_USAGE 1034be44fcdSLen Brown acpi_status acpi_get_system_info(struct acpi_buffer *ret_buffer); 1041da177e4SLinus Torvalds #endif 1051da177e4SLinus Torvalds 1064be44fcdSLen Brown const char *acpi_format_exception(acpi_status exception); 1071da177e4SLinus Torvalds 1084be44fcdSLen Brown acpi_status acpi_purge_cached_objects(void); 1091da177e4SLinus Torvalds 110b0ed7a91SLin Ming acpi_status acpi_install_interface(acpi_string interface_name); 111b0ed7a91SLin Ming 112b0ed7a91SLin Ming acpi_status acpi_remove_interface(acpi_string interface_name); 113b0ed7a91SLin Ming 1141da177e4SLinus Torvalds /* 115aee07ba6SJoe Perches * ACPI Memory management 1161da177e4SLinus Torvalds */ 1174be44fcdSLen Brown void *acpi_allocate(u32 size); 1181da177e4SLinus Torvalds 1194be44fcdSLen Brown void *acpi_callocate(u32 size); 1201da177e4SLinus Torvalds 1214be44fcdSLen Brown void acpi_free(void *address); 1221da177e4SLinus Torvalds 1231da177e4SLinus Torvalds /* 1241da177e4SLinus Torvalds * ACPI table manipulation interfaces 1251da177e4SLinus Torvalds */ 126f3d2e786SBob Moore acpi_status acpi_reallocate_root_table(void); 127f3d2e786SBob Moore 12867a119f9SBob Moore acpi_status acpi_find_root_pointer(acpi_size *rsdp_address); 1291da177e4SLinus Torvalds 1304be44fcdSLen Brown acpi_status acpi_load_tables(void); 1311da177e4SLinus Torvalds 1324be44fcdSLen Brown acpi_status acpi_load_table(struct acpi_table_header *table_ptr); 1334be44fcdSLen Brown 134f3d2e786SBob Moore acpi_status acpi_unload_table_id(acpi_owner_id id); 1351da177e4SLinus Torvalds 1361da177e4SLinus Torvalds acpi_status 137f3d2e786SBob Moore acpi_get_table_header(acpi_string signature, 13867a119f9SBob Moore u32 instance, 139428f2112SAlexey Starikovskiy struct acpi_table_header *out_table_header); 1401da177e4SLinus Torvalds 1411da177e4SLinus Torvalds acpi_status 1427d97277bSYinghai Lu acpi_get_table_with_size(acpi_string signature, 1437d97277bSYinghai Lu u32 instance, struct acpi_table_header **out_table, 1447d97277bSYinghai Lu acpi_size *tbl_size); 1457d97277bSYinghai Lu acpi_status 146f3d2e786SBob Moore acpi_get_table(acpi_string signature, 14767a119f9SBob Moore u32 instance, struct acpi_table_header **out_table); 148f3d2e786SBob Moore 149f3d2e786SBob Moore acpi_status 15067a119f9SBob Moore acpi_get_table_by_index(u32 table_index, 151f3d2e786SBob Moore struct acpi_table_header **out_table); 1521da177e4SLinus Torvalds 1533e08e2d2SLin Ming acpi_status 1543e08e2d2SLin Ming acpi_install_table_handler(acpi_tbl_handler handler, void *context); 1553e08e2d2SLin Ming 1563e08e2d2SLin Ming acpi_status acpi_remove_table_handler(acpi_tbl_handler handler); 1573e08e2d2SLin Ming 1581da177e4SLinus Torvalds /* 1591da177e4SLinus Torvalds * Namespace and name interfaces 1601da177e4SLinus Torvalds */ 1611da177e4SLinus Torvalds acpi_status 1624be44fcdSLen Brown acpi_walk_namespace(acpi_object_type type, 1631da177e4SLinus Torvalds acpi_handle start_object, 1641da177e4SLinus Torvalds u32 max_depth, 1652263576cSLin Ming acpi_walk_callback pre_order_visit, 1662263576cSLin Ming acpi_walk_callback post_order_visit, 1674be44fcdSLen Brown void *context, void **return_value); 1681da177e4SLinus Torvalds 1691da177e4SLinus Torvalds acpi_status 17070b30fb1SAl Viro acpi_get_devices(const char *HID, 1711da177e4SLinus Torvalds acpi_walk_callback user_function, 1724be44fcdSLen Brown void *context, void **return_value); 1731da177e4SLinus Torvalds 1741da177e4SLinus Torvalds acpi_status 175b47cf58eSBob Moore acpi_get_name(acpi_handle object, 1764be44fcdSLen Brown u32 name_type, struct acpi_buffer *ret_path_ptr); 1771da177e4SLinus Torvalds 1781da177e4SLinus Torvalds acpi_status 1794be44fcdSLen Brown acpi_get_handle(acpi_handle parent, 1804be44fcdSLen Brown acpi_string pathname, acpi_handle * ret_handle); 1811da177e4SLinus Torvalds 1821da177e4SLinus Torvalds acpi_status 183b47cf58eSBob Moore acpi_attach_data(acpi_handle object, acpi_object_handler handler, void *data); 184b47cf58eSBob Moore 185b47cf58eSBob Moore acpi_status acpi_detach_data(acpi_handle object, acpi_object_handler handler); 1861da177e4SLinus Torvalds 1871da177e4SLinus Torvalds acpi_status 188b47cf58eSBob Moore acpi_get_data(acpi_handle object, acpi_object_handler handler, void **data); 1891da177e4SLinus Torvalds 19050eca3ebSBob Moore acpi_status 19150eca3ebSBob Moore acpi_debug_trace(char *name, u32 debug_level, u32 debug_layer, u32 flags); 19250eca3ebSBob Moore 1931da177e4SLinus Torvalds /* 1941da177e4SLinus Torvalds * Object manipulation and enumeration 1951da177e4SLinus Torvalds */ 1961da177e4SLinus Torvalds acpi_status 1974be44fcdSLen Brown acpi_evaluate_object(acpi_handle object, 1981da177e4SLinus Torvalds acpi_string pathname, 1991da177e4SLinus Torvalds struct acpi_object_list *parameter_objects, 2001da177e4SLinus Torvalds struct acpi_buffer *return_object_buffer); 2011da177e4SLinus Torvalds 2021da177e4SLinus Torvalds acpi_status 2034be44fcdSLen Brown acpi_evaluate_object_typed(acpi_handle object, 2041da177e4SLinus Torvalds acpi_string pathname, 2051da177e4SLinus Torvalds struct acpi_object_list *external_params, 2061da177e4SLinus Torvalds struct acpi_buffer *return_buffer, 2071da177e4SLinus Torvalds acpi_object_type return_type); 2081da177e4SLinus Torvalds 2091da177e4SLinus Torvalds acpi_status 210b47cf58eSBob Moore acpi_get_object_info(acpi_handle object, 21115b8dd53SBob Moore struct acpi_device_info **return_buffer); 2121da177e4SLinus Torvalds 213b2f7ddcfSLin Ming acpi_status acpi_install_method(u8 *buffer); 214b2f7ddcfSLin Ming 2151da177e4SLinus Torvalds acpi_status 2164be44fcdSLen Brown acpi_get_next_object(acpi_object_type type, 2171da177e4SLinus Torvalds acpi_handle parent, 2184be44fcdSLen Brown acpi_handle child, acpi_handle * out_handle); 2191da177e4SLinus Torvalds 2204be44fcdSLen Brown acpi_status acpi_get_type(acpi_handle object, acpi_object_type * out_type); 2211da177e4SLinus Torvalds 2220f0fe1a0SJohn Keller acpi_status acpi_get_id(acpi_handle object, acpi_owner_id * out_type); 2230f0fe1a0SJohn Keller 2244be44fcdSLen Brown acpi_status acpi_get_parent(acpi_handle object, acpi_handle * out_handle); 2251da177e4SLinus Torvalds 2261da177e4SLinus Torvalds /* 227ecfbbc7bSBob Moore * Handler interfaces 2281da177e4SLinus Torvalds */ 2291da177e4SLinus Torvalds acpi_status 230ecfbbc7bSBob Moore acpi_install_initialization_handler(acpi_init_handler handler, u32 function); 231ecfbbc7bSBob Moore 232ecfbbc7bSBob Moore acpi_status 233a0fcdb23SLin Ming acpi_install_global_event_handler(ACPI_GBL_EVENT_HANDLER handler, 234a0fcdb23SLin Ming void *context); 235a0fcdb23SLin Ming 236a0fcdb23SLin Ming acpi_status 2374be44fcdSLen Brown acpi_install_fixed_event_handler(u32 acpi_event, 2384be44fcdSLen Brown acpi_event_handler handler, void *context); 2391da177e4SLinus Torvalds 2401da177e4SLinus Torvalds acpi_status 2414be44fcdSLen Brown acpi_remove_fixed_event_handler(u32 acpi_event, acpi_event_handler handler); 2421da177e4SLinus Torvalds 2431da177e4SLinus Torvalds acpi_status 2444be44fcdSLen Brown acpi_install_notify_handler(acpi_handle device, 2451da177e4SLinus Torvalds u32 handler_type, 2464be44fcdSLen Brown acpi_notify_handler handler, void *context); 2471da177e4SLinus Torvalds 2481da177e4SLinus Torvalds acpi_status 2494be44fcdSLen Brown acpi_remove_notify_handler(acpi_handle device, 2504be44fcdSLen Brown u32 handler_type, acpi_notify_handler handler); 2511da177e4SLinus Torvalds 2521da177e4SLinus Torvalds acpi_status 2534be44fcdSLen Brown acpi_install_address_space_handler(acpi_handle device, 2541da177e4SLinus Torvalds acpi_adr_space_type space_id, 2551da177e4SLinus Torvalds acpi_adr_space_handler handler, 2564be44fcdSLen Brown acpi_adr_space_setup setup, void *context); 2571da177e4SLinus Torvalds 2581da177e4SLinus Torvalds acpi_status 2594be44fcdSLen Brown acpi_remove_address_space_handler(acpi_handle device, 2601da177e4SLinus Torvalds acpi_adr_space_type space_id, 2611da177e4SLinus Torvalds acpi_adr_space_handler handler); 2621da177e4SLinus Torvalds 2631da177e4SLinus Torvalds acpi_status 2644be44fcdSLen Brown acpi_install_gpe_handler(acpi_handle gpe_device, 2651da177e4SLinus Torvalds u32 gpe_number, 2668b6cd8adSLin Ming u32 type, acpi_gpe_handler address, void *context); 2671da177e4SLinus Torvalds 26808ac07b8SBob Moore acpi_status 26908ac07b8SBob Moore acpi_remove_gpe_handler(acpi_handle gpe_device, 2708b6cd8adSLin Ming u32 gpe_number, acpi_gpe_handler address); 27108ac07b8SBob Moore 2721da177e4SLinus Torvalds #ifdef ACPI_FUTURE_USAGE 2734be44fcdSLen Brown acpi_status acpi_install_exception_handler(acpi_exception_handler handler); 2741da177e4SLinus Torvalds #endif 2751da177e4SLinus Torvalds 276b0ed7a91SLin Ming acpi_status acpi_install_interface_handler(acpi_interface_handler handler); 277b0ed7a91SLin Ming 2781da177e4SLinus Torvalds /* 2791da177e4SLinus Torvalds * Event interfaces 2801da177e4SLinus Torvalds */ 2814be44fcdSLen Brown acpi_status acpi_acquire_global_lock(u16 timeout, u32 * handle); 2824be44fcdSLen Brown 2834be44fcdSLen Brown acpi_status acpi_release_global_lock(u32 handle); 2841da177e4SLinus Torvalds 2854be44fcdSLen Brown acpi_status acpi_enable_event(u32 event, u32 flags); 2861da177e4SLinus Torvalds 2874be44fcdSLen Brown acpi_status acpi_disable_event(u32 event, u32 flags); 2881da177e4SLinus Torvalds 2894be44fcdSLen Brown acpi_status acpi_clear_event(u32 event); 2901da177e4SLinus Torvalds 2914be44fcdSLen Brown acpi_status acpi_get_event_status(u32 event, acpi_event_status * event_status); 2924be44fcdSLen Brown 29308ac07b8SBob Moore /* 29408ac07b8SBob Moore * GPE Interfaces 29508ac07b8SBob Moore */ 296a44061aaSRafael J. Wysocki acpi_status acpi_enable_gpe(acpi_handle gpe_device, u32 gpe_number); 2974be44fcdSLen Brown 298a44061aaSRafael J. Wysocki acpi_status acpi_disable_gpe(acpi_handle gpe_device, u32 gpe_number); 2994be44fcdSLen Brown 3000f849d2cSLin Ming acpi_status acpi_clear_gpe(acpi_handle gpe_device, u32 gpe_number); 3011da177e4SLinus Torvalds 302bba63a29SLin Ming acpi_status 303bba63a29SLin Ming acpi_setup_gpe_for_wake(acpi_handle parent_device, 304bba63a29SLin Ming acpi_handle gpe_device, u32 gpe_number); 305bba63a29SLin Ming 3063a37898dSLin Ming acpi_status acpi_set_gpe_wake_mask(acpi_handle gpe_device, u32 gpe_number, u8 action); 307e8b6f970SRafael J. Wysocki 3081da177e4SLinus Torvalds acpi_status 3094be44fcdSLen Brown acpi_get_gpe_status(acpi_handle gpe_device, 3100f849d2cSLin Ming u32 gpe_number, acpi_event_status *event_status); 3111da177e4SLinus Torvalds 31208ac07b8SBob Moore acpi_status acpi_disable_all_gpes(void); 31308ac07b8SBob Moore 31408ac07b8SBob Moore acpi_status acpi_enable_all_runtime_gpes(void); 31508ac07b8SBob Moore 316e97d6bf1SBob Moore acpi_status acpi_get_gpe_device(u32 gpe_index, acpi_handle *gpe_device); 317e97d6bf1SBob Moore 3181da177e4SLinus Torvalds acpi_status 3194be44fcdSLen Brown acpi_install_gpe_block(acpi_handle gpe_device, 3201da177e4SLinus Torvalds struct acpi_generic_address *gpe_block_address, 3214be44fcdSLen Brown u32 register_count, u32 interrupt_number); 3221da177e4SLinus Torvalds 3234be44fcdSLen Brown acpi_status acpi_remove_gpe_block(acpi_handle gpe_device); 3241da177e4SLinus Torvalds 3253a37898dSLin Ming acpi_status acpi_update_all_gpes(void); 326a2100801SRafael J. Wysocki 3271da177e4SLinus Torvalds /* 3281da177e4SLinus Torvalds * Resource interfaces 3291da177e4SLinus Torvalds */ 3301da177e4SLinus Torvalds typedef 33161686124SBob Moore acpi_status(*acpi_walk_resource_callback) (struct acpi_resource * resource, 3321da177e4SLinus Torvalds void *context); 3331da177e4SLinus Torvalds 3341da177e4SLinus Torvalds acpi_status 335b47cf58eSBob Moore acpi_get_vendor_resource(acpi_handle device, 336c51a4de8SBob Moore char *name, 337c51a4de8SBob Moore struct acpi_vendor_uuid *uuid, 338c51a4de8SBob Moore struct acpi_buffer *ret_buffer); 339c51a4de8SBob Moore 340c51a4de8SBob Moore acpi_status 341b47cf58eSBob Moore acpi_get_current_resources(acpi_handle device, struct acpi_buffer *ret_buffer); 3421da177e4SLinus Torvalds 3431da177e4SLinus Torvalds #ifdef ACPI_FUTURE_USAGE 3441da177e4SLinus Torvalds acpi_status 345b47cf58eSBob Moore acpi_get_possible_resources(acpi_handle device, struct acpi_buffer *ret_buffer); 3461da177e4SLinus Torvalds #endif 3471da177e4SLinus Torvalds 3481da177e4SLinus Torvalds acpi_status 349b47cf58eSBob Moore acpi_walk_resources(acpi_handle device, 350c51a4de8SBob Moore char *name, 35161686124SBob Moore acpi_walk_resource_callback user_function, void *context); 3521da177e4SLinus Torvalds 3531da177e4SLinus Torvalds acpi_status 354b47cf58eSBob Moore acpi_set_current_resources(acpi_handle device, struct acpi_buffer *in_buffer); 3551da177e4SLinus Torvalds 3561da177e4SLinus Torvalds acpi_status 357b47cf58eSBob Moore acpi_get_irq_routing_table(acpi_handle device, struct acpi_buffer *ret_buffer); 3581da177e4SLinus Torvalds 3591da177e4SLinus Torvalds acpi_status 3604be44fcdSLen Brown acpi_resource_to_address64(struct acpi_resource *resource, 3611da177e4SLinus Torvalds struct acpi_resource_address64 *out); 3621da177e4SLinus Torvalds 3631da177e4SLinus Torvalds /* 3641da177e4SLinus Torvalds * Hardware (ACPI device) interfaces 3651da177e4SLinus Torvalds */ 366d3fd902dSBob Moore acpi_status acpi_reset(void); 367d3fd902dSBob Moore 36850ffba1bSBob Moore acpi_status acpi_read_bit_register(u32 register_id, u32 *return_value); 3694be44fcdSLen Brown 37050ffba1bSBob Moore acpi_status acpi_write_bit_register(u32 register_id, u32 value); 3711da177e4SLinus Torvalds 3724f70e371SBob Moore acpi_status acpi_set_firmware_waking_vector(u32 physical_address); 3731da177e4SLinus Torvalds 3744f70e371SBob Moore #if ACPI_MACHINE_WIDTH == 64 3754f70e371SBob Moore acpi_status acpi_set_firmware_waking_vector64(u64 physical_address); 3764f70e371SBob Moore #endif 3771da177e4SLinus Torvalds 378c6b5774cSBob Moore acpi_status acpi_read(u64 *value, struct acpi_generic_address *reg); 379ecfbbc7bSBob Moore 380c6b5774cSBob Moore acpi_status acpi_write(u64 value, struct acpi_generic_address *reg); 381ecfbbc7bSBob Moore 3821da177e4SLinus Torvalds acpi_status 3834be44fcdSLen Brown acpi_get_sleep_type_data(u8 sleep_state, u8 * slp_typ_a, u8 * slp_typ_b); 3841da177e4SLinus Torvalds 3854be44fcdSLen Brown acpi_status acpi_enter_sleep_state_prep(u8 sleep_state); 3861da177e4SLinus Torvalds 3874be44fcdSLen Brown acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state); 3881da177e4SLinus Torvalds 3894be44fcdSLen Brown acpi_status asmlinkage acpi_enter_sleep_state_s4bios(void); 3901da177e4SLinus Torvalds 391c95d47a8SRafael J. Wysocki acpi_status acpi_leave_sleep_state_prep(u8 sleep_state); 392c95d47a8SRafael J. Wysocki 3934be44fcdSLen Brown acpi_status acpi_leave_sleep_state(u8 sleep_state); 3941da177e4SLinus Torvalds 39550df4d8bSBob Moore /* 396b74be611SBob Moore * Error/Warning output 39750df4d8bSBob Moore */ 39850df4d8bSBob Moore void ACPI_INTERNAL_VAR_XFACE 39950df4d8bSBob Moore acpi_error(const char *module_name, 40050df4d8bSBob Moore u32 line_number, const char *format, ...) ACPI_PRINTF_LIKE(3); 40150df4d8bSBob Moore 40250df4d8bSBob Moore void ACPI_INTERNAL_VAR_XFACE 40350df4d8bSBob Moore acpi_exception(const char *module_name, 40450df4d8bSBob Moore u32 line_number, 40550df4d8bSBob Moore acpi_status status, const char *format, ...) ACPI_PRINTF_LIKE(4); 40650df4d8bSBob Moore 40750df4d8bSBob Moore void ACPI_INTERNAL_VAR_XFACE 40850df4d8bSBob Moore acpi_warning(const char *module_name, 40950df4d8bSBob Moore u32 line_number, const char *format, ...) ACPI_PRINTF_LIKE(3); 41050df4d8bSBob Moore 41150df4d8bSBob Moore void ACPI_INTERNAL_VAR_XFACE 41250df4d8bSBob Moore acpi_info(const char *module_name, 41350df4d8bSBob Moore u32 line_number, const char *format, ...) ACPI_PRINTF_LIKE(3); 41450df4d8bSBob Moore 415b74be611SBob Moore /* 416b74be611SBob Moore * Debug output 417b74be611SBob Moore */ 41850df4d8bSBob Moore #ifdef ACPI_DEBUG_OUTPUT 41950df4d8bSBob Moore 42050df4d8bSBob Moore void ACPI_INTERNAL_VAR_XFACE 42150df4d8bSBob Moore acpi_debug_print(u32 requested_debug_level, 42250df4d8bSBob Moore u32 line_number, 42350df4d8bSBob Moore const char *function_name, 42450df4d8bSBob Moore const char *module_name, 42550df4d8bSBob Moore u32 component_id, const char *format, ...) ACPI_PRINTF_LIKE(6); 42650df4d8bSBob Moore 42750df4d8bSBob Moore void ACPI_INTERNAL_VAR_XFACE 42850df4d8bSBob Moore acpi_debug_print_raw(u32 requested_debug_level, 42950df4d8bSBob Moore u32 line_number, 43050df4d8bSBob Moore const char *function_name, 43150df4d8bSBob Moore const char *module_name, 43250df4d8bSBob Moore u32 component_id, 43350df4d8bSBob Moore const char *format, ...) ACPI_PRINTF_LIKE(6); 43450df4d8bSBob Moore #endif 43550df4d8bSBob Moore 4361da177e4SLinus Torvalds #endif /* __ACXFACE_H__ */ 437