xref: /freebsd/sys/contrib/dev/acpica/include/acpixf.h (revision 1c0e1b6da9c3c45f81c75137dddaebc748995afc)
1a9f12690SJung-uk Kim /******************************************************************************
2a9f12690SJung-uk Kim  *
3a9f12690SJung-uk Kim  * Name: acpixf.h - External interfaces to the ACPI subsystem
4a9f12690SJung-uk Kim  *
5a9f12690SJung-uk Kim  *****************************************************************************/
6a9f12690SJung-uk Kim 
7d244b227SJung-uk Kim /*
8*1c0e1b6dSJung-uk Kim  * Copyright (C) 2000 - 2015, Intel Corp.
9a9f12690SJung-uk Kim  * All rights reserved.
10a9f12690SJung-uk Kim  *
11d244b227SJung-uk Kim  * Redistribution and use in source and binary forms, with or without
12d244b227SJung-uk Kim  * modification, are permitted provided that the following conditions
13d244b227SJung-uk Kim  * are met:
14d244b227SJung-uk Kim  * 1. Redistributions of source code must retain the above copyright
15d244b227SJung-uk Kim  *    notice, this list of conditions, and the following disclaimer,
16d244b227SJung-uk Kim  *    without modification.
17d244b227SJung-uk Kim  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18d244b227SJung-uk Kim  *    substantially similar to the "NO WARRANTY" disclaimer below
19d244b227SJung-uk Kim  *    ("Disclaimer") and any redistribution must be conditioned upon
20d244b227SJung-uk Kim  *    including a substantially similar Disclaimer requirement for further
21d244b227SJung-uk Kim  *    binary redistribution.
22d244b227SJung-uk Kim  * 3. Neither the names of the above-listed copyright holders nor the names
23d244b227SJung-uk Kim  *    of any contributors may be used to endorse or promote products derived
24d244b227SJung-uk Kim  *    from this software without specific prior written permission.
25a9f12690SJung-uk Kim  *
26d244b227SJung-uk Kim  * Alternatively, this software may be distributed under the terms of the
27d244b227SJung-uk Kim  * GNU General Public License ("GPL") version 2 as published by the Free
28d244b227SJung-uk Kim  * Software Foundation.
29a9f12690SJung-uk Kim  *
30d244b227SJung-uk Kim  * NO WARRANTY
31d244b227SJung-uk Kim  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32d244b227SJung-uk Kim  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33d244b227SJung-uk Kim  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34d244b227SJung-uk Kim  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35d244b227SJung-uk Kim  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36d244b227SJung-uk Kim  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37d244b227SJung-uk Kim  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38d244b227SJung-uk Kim  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39d244b227SJung-uk Kim  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40d244b227SJung-uk Kim  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41d244b227SJung-uk Kim  * POSSIBILITY OF SUCH DAMAGES.
42d244b227SJung-uk Kim  */
43a9f12690SJung-uk Kim 
44a9f12690SJung-uk Kim #ifndef __ACXFACE_H__
45a9f12690SJung-uk Kim #define __ACXFACE_H__
46a9f12690SJung-uk Kim 
47a9f12690SJung-uk Kim /* Current ACPICA subsystem version in YYYYMMDD format */
48a9f12690SJung-uk Kim 
49*1c0e1b6dSJung-uk Kim #define ACPI_CA_VERSION                 0x20150204
50a9f12690SJung-uk Kim 
51a159c266SJung-uk Kim #include <contrib/dev/acpica/include/acconfig.h>
52ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/actypes.h>
53ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/actbl.h>
541df130f1SJung-uk Kim #include <contrib/dev/acpica/include/acbuffer.h>
55a9f12690SJung-uk Kim 
56313a0c13SJung-uk Kim 
57313a0c13SJung-uk Kim /*****************************************************************************
58313a0c13SJung-uk Kim  *
59313a0c13SJung-uk Kim  * Macros used for ACPICA globals and configuration
60313a0c13SJung-uk Kim  *
61313a0c13SJung-uk Kim  ****************************************************************************/
62313a0c13SJung-uk Kim 
63a9f12690SJung-uk Kim /*
64313a0c13SJung-uk Kim  * Ensure that global variables are defined and initialized only once.
65313a0c13SJung-uk Kim  *
66313a0c13SJung-uk Kim  * The use of these macros allows for a single list of globals (here)
67313a0c13SJung-uk Kim  * in order to simplify maintenance of the code.
68a9f12690SJung-uk Kim  */
69313a0c13SJung-uk Kim #ifdef DEFINE_ACPI_GLOBALS
70313a0c13SJung-uk Kim #define ACPI_GLOBAL(type,name) \
71313a0c13SJung-uk Kim     extern type name; \
72313a0c13SJung-uk Kim     type name
73a9f12690SJung-uk Kim 
74313a0c13SJung-uk Kim #define ACPI_INIT_GLOBAL(type,name,value) \
75313a0c13SJung-uk Kim     type name=value
76a9f12690SJung-uk Kim 
77313a0c13SJung-uk Kim #else
78313a0c13SJung-uk Kim #ifndef ACPI_GLOBAL
79313a0c13SJung-uk Kim #define ACPI_GLOBAL(type,name) \
80313a0c13SJung-uk Kim     extern type name
81313a0c13SJung-uk Kim #endif
82a9f12690SJung-uk Kim 
83313a0c13SJung-uk Kim #ifndef ACPI_INIT_GLOBAL
84313a0c13SJung-uk Kim #define ACPI_INIT_GLOBAL(type,name,value) \
85313a0c13SJung-uk Kim     extern type name
86313a0c13SJung-uk Kim #endif
87313a0c13SJung-uk Kim #endif
88a9f12690SJung-uk Kim 
89a9f12690SJung-uk Kim /*
90313a0c13SJung-uk Kim  * These macros configure the various ACPICA interfaces. They are
91313a0c13SJung-uk Kim  * useful for generating stub inline functions for features that are
92313a0c13SJung-uk Kim  * configured out of the current kernel or ACPICA application.
93313a0c13SJung-uk Kim  */
94313a0c13SJung-uk Kim #ifndef ACPI_EXTERNAL_RETURN_STATUS
95313a0c13SJung-uk Kim #define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \
96313a0c13SJung-uk Kim     Prototype;
97313a0c13SJung-uk Kim #endif
98313a0c13SJung-uk Kim 
99313a0c13SJung-uk Kim #ifndef ACPI_EXTERNAL_RETURN_OK
100313a0c13SJung-uk Kim #define ACPI_EXTERNAL_RETURN_OK(Prototype) \
101313a0c13SJung-uk Kim     Prototype;
102313a0c13SJung-uk Kim #endif
103313a0c13SJung-uk Kim 
104313a0c13SJung-uk Kim #ifndef ACPI_EXTERNAL_RETURN_VOID
105313a0c13SJung-uk Kim #define ACPI_EXTERNAL_RETURN_VOID(Prototype) \
106313a0c13SJung-uk Kim     Prototype;
107313a0c13SJung-uk Kim #endif
108313a0c13SJung-uk Kim 
109313a0c13SJung-uk Kim #ifndef ACPI_EXTERNAL_RETURN_UINT32
110313a0c13SJung-uk Kim #define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \
111313a0c13SJung-uk Kim     Prototype;
112313a0c13SJung-uk Kim #endif
113313a0c13SJung-uk Kim 
114313a0c13SJung-uk Kim #ifndef ACPI_EXTERNAL_RETURN_PTR
115313a0c13SJung-uk Kim #define ACPI_EXTERNAL_RETURN_PTR(Prototype) \
116313a0c13SJung-uk Kim     Prototype;
117313a0c13SJung-uk Kim #endif
118313a0c13SJung-uk Kim 
119313a0c13SJung-uk Kim 
120313a0c13SJung-uk Kim /*****************************************************************************
121313a0c13SJung-uk Kim  *
122313a0c13SJung-uk Kim  * Public globals and runtime configuration options
123313a0c13SJung-uk Kim  *
124313a0c13SJung-uk Kim  ****************************************************************************/
125313a0c13SJung-uk Kim 
126313a0c13SJung-uk Kim /*
127313a0c13SJung-uk Kim  * Enable "slack mode" of the AML interpreter?  Default is FALSE, and the
128313a0c13SJung-uk Kim  * interpreter strictly follows the ACPI specification. Setting to TRUE
129313a0c13SJung-uk Kim  * allows the interpreter to ignore certain errors and/or bad AML constructs.
130313a0c13SJung-uk Kim  *
131313a0c13SJung-uk Kim  * Currently, these features are enabled by this flag:
132313a0c13SJung-uk Kim  *
133313a0c13SJung-uk Kim  * 1) Allow "implicit return" of last value in a control method
134313a0c13SJung-uk Kim  * 2) Allow access beyond the end of an operation region
135313a0c13SJung-uk Kim  * 3) Allow access to uninitialized locals/args (auto-init to integer 0)
136313a0c13SJung-uk Kim  * 4) Allow ANY object type to be a source operand for the Store() operator
137313a0c13SJung-uk Kim  * 5) Allow unresolved references (invalid target name) in package objects
138313a0c13SJung-uk Kim  * 6) Enable warning messages for behavior that is not ACPI spec compliant
139313a0c13SJung-uk Kim  */
140313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableInterpreterSlack, FALSE);
141313a0c13SJung-uk Kim 
142313a0c13SJung-uk Kim /*
143313a0c13SJung-uk Kim  * Automatically serialize all methods that create named objects? Default
144313a0c13SJung-uk Kim  * is TRUE, meaning that all NonSerialized methods are scanned once at
145313a0c13SJung-uk Kim  * table load time to determine those that create named objects. Methods
146313a0c13SJung-uk Kim  * that create named objects are marked Serialized in order to prevent
147313a0c13SJung-uk Kim  * possible run-time problems if they are entered by more than one thread.
148313a0c13SJung-uk Kim  */
149313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_AutoSerializeMethods, TRUE);
150313a0c13SJung-uk Kim 
151313a0c13SJung-uk Kim /*
152313a0c13SJung-uk Kim  * Create the predefined _OSI method in the namespace? Default is TRUE
153313a0c13SJung-uk Kim  * because ACPICA is fully compatible with other ACPI implementations.
154313a0c13SJung-uk Kim  * Changing this will revert ACPICA (and machine ASL) to pre-OSI behavior.
155313a0c13SJung-uk Kim  */
156313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CreateOsiMethod, TRUE);
157313a0c13SJung-uk Kim 
158313a0c13SJung-uk Kim /*
159313a0c13SJung-uk Kim  * Optionally use default values for the ACPI register widths. Set this to
160313a0c13SJung-uk Kim  * TRUE to use the defaults, if an FADT contains incorrect widths/lengths.
161313a0c13SJung-uk Kim  */
162313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_UseDefaultRegisterWidths, TRUE);
163313a0c13SJung-uk Kim 
164313a0c13SJung-uk Kim /*
165313a0c13SJung-uk Kim  * Whether or not to verify the table checksum before installation. Set
166313a0c13SJung-uk Kim  * this to TRUE to verify the table checksum before install it to the table
167313a0c13SJung-uk Kim  * manager. Note that enabling this option causes errors to happen in some
168313a0c13SJung-uk Kim  * OSPMs during early initialization stages. Default behavior is to do such
169313a0c13SJung-uk Kim  * verification.
170313a0c13SJung-uk Kim  */
171313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_VerifyTableChecksum, TRUE);
172313a0c13SJung-uk Kim 
173313a0c13SJung-uk Kim /*
174313a0c13SJung-uk Kim  * Optionally enable output from the AML Debug Object.
175313a0c13SJung-uk Kim  */
176313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_EnableAmlDebugObject, FALSE);
177313a0c13SJung-uk Kim 
178313a0c13SJung-uk Kim /*
179313a0c13SJung-uk Kim  * Optionally copy the entire DSDT to local memory (instead of simply
180313a0c13SJung-uk Kim  * mapping it.) There are some BIOSs that corrupt or replace the original
181313a0c13SJung-uk Kim  * DSDT, creating the need for this option. Default is FALSE, do not copy
182313a0c13SJung-uk Kim  * the DSDT.
183313a0c13SJung-uk Kim  */
184313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_CopyDsdtLocally, FALSE);
185313a0c13SJung-uk Kim 
186313a0c13SJung-uk Kim /*
187313a0c13SJung-uk Kim  * Optionally ignore an XSDT if present and use the RSDT instead.
188313a0c13SJung-uk Kim  * Although the ACPI specification requires that an XSDT be used instead
189313a0c13SJung-uk Kim  * of the RSDT, the XSDT has been found to be corrupt or ill-formed on
190313a0c13SJung-uk Kim  * some machines. Default behavior is to use the XSDT if present.
191313a0c13SJung-uk Kim  */
192313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DoNotUseXsdt, FALSE);
193313a0c13SJung-uk Kim 
194313a0c13SJung-uk Kim /*
195313a0c13SJung-uk Kim  * Optionally use 32-bit FADT addresses if and when there is a conflict
196313a0c13SJung-uk Kim  * (address mismatch) between the 32-bit and 64-bit versions of the
197313a0c13SJung-uk Kim  * address. Although ACPICA adheres to the ACPI specification which
198313a0c13SJung-uk Kim  * requires the use of the corresponding 64-bit address if it is non-zero,
199313a0c13SJung-uk Kim  * some machines have been found to have a corrupted non-zero 64-bit
200313a0c13SJung-uk Kim  * address. Default is FALSE, do not favor the 32-bit addresses.
201313a0c13SJung-uk Kim  */
202313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_Use32BitFadtAddresses, FALSE);
203313a0c13SJung-uk Kim 
204313a0c13SJung-uk Kim /*
205313a0c13SJung-uk Kim  * Optionally truncate I/O addresses to 16 bits. Provides compatibility
206313a0c13SJung-uk Kim  * with other ACPI implementations. NOTE: During ACPICA initialization,
207313a0c13SJung-uk Kim  * this value is set to TRUE if any Windows OSI strings have been
208313a0c13SJung-uk Kim  * requested by the BIOS.
209313a0c13SJung-uk Kim  */
210313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_TruncateIoAddresses, FALSE);
211313a0c13SJung-uk Kim 
212313a0c13SJung-uk Kim /*
213313a0c13SJung-uk Kim  * Disable runtime checking and repair of values returned by control methods.
214313a0c13SJung-uk Kim  * Use only if the repair is causing a problem on a particular machine.
215313a0c13SJung-uk Kim  */
216313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableAutoRepair, FALSE);
217313a0c13SJung-uk Kim 
218313a0c13SJung-uk Kim /*
219313a0c13SJung-uk Kim  * Optionally do not install any SSDTs from the RSDT/XSDT during initialization.
220313a0c13SJung-uk Kim  * This can be useful for debugging ACPI problems on some machines.
221313a0c13SJung-uk Kim  */
222313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_DisableSsdtTableInstall, FALSE);
223313a0c13SJung-uk Kim 
224313a0c13SJung-uk Kim /*
225313a0c13SJung-uk Kim  * We keep track of the latest version of Windows that has been requested by
226313a0c13SJung-uk Kim  * the BIOS. ACPI 5.0.
227313a0c13SJung-uk Kim  */
228313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT8,            AcpiGbl_OsiData, 0);
229313a0c13SJung-uk Kim 
230313a0c13SJung-uk Kim /*
231313a0c13SJung-uk Kim  * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning
232313a0c13SJung-uk Kim  * that the ACPI hardware is no longer required. A flag in the FADT indicates
233313a0c13SJung-uk Kim  * a reduced HW machine, and that flag is duplicated here for convenience.
234313a0c13SJung-uk Kim  */
235313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (BOOLEAN,          AcpiGbl_ReducedHardware, FALSE);
236313a0c13SJung-uk Kim 
237313a0c13SJung-uk Kim /*
238313a0c13SJung-uk Kim  * This mechanism is used to trace a specified AML method. The method is
239313a0c13SJung-uk Kim  * traced each time it is executed.
240313a0c13SJung-uk Kim  */
241313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiGbl_TraceFlags, 0);
242313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (ACPI_NAME,        AcpiGbl_TraceMethodName, 0);
243313a0c13SJung-uk Kim 
244313a0c13SJung-uk Kim /*
245313a0c13SJung-uk Kim  * Runtime configuration of debug output control masks. We want the debug
246313a0c13SJung-uk Kim  * switches statically initialized so they are already set when the debugger
247313a0c13SJung-uk Kim  * is entered.
248313a0c13SJung-uk Kim  */
249313a0c13SJung-uk Kim #ifdef ACPI_DEBUG_OUTPUT
250313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_DEBUG_DEFAULT);
251313a0c13SJung-uk Kim #else
252313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLevel, ACPI_NORMAL_DEFAULT);
253313a0c13SJung-uk Kim #endif
254313a0c13SJung-uk Kim ACPI_INIT_GLOBAL (UINT32,           AcpiDbgLayer, ACPI_COMPONENT_DEFAULT);
255313a0c13SJung-uk Kim 
256313a0c13SJung-uk Kim /*
257313a0c13SJung-uk Kim  * Other miscellaneous globals
258313a0c13SJung-uk Kim  */
259313a0c13SJung-uk Kim ACPI_GLOBAL (ACPI_TABLE_FADT,       AcpiGbl_FADT);
260313a0c13SJung-uk Kim ACPI_GLOBAL (UINT32,                AcpiCurrentGpeCount);
261313a0c13SJung-uk Kim ACPI_GLOBAL (BOOLEAN,               AcpiGbl_SystemAwakeAndRunning);
262313a0c13SJung-uk Kim 
263313a0c13SJung-uk Kim 
264313a0c13SJung-uk Kim /*****************************************************************************
265313a0c13SJung-uk Kim  *
266313a0c13SJung-uk Kim  * ACPICA public interface configuration.
267313a0c13SJung-uk Kim  *
268313a0c13SJung-uk Kim  * Interfaces that are configured out of the ACPICA build are replaced
269313a0c13SJung-uk Kim  * by inlined stubs by default.
270313a0c13SJung-uk Kim  *
271313a0c13SJung-uk Kim  ****************************************************************************/
272313a0c13SJung-uk Kim 
273313a0c13SJung-uk Kim /*
274313a0c13SJung-uk Kim  * Hardware-reduced prototypes (default: Not hardware reduced).
275313a0c13SJung-uk Kim  *
276313a0c13SJung-uk Kim  * All ACPICA hardware-related interfaces that use these macros will be
277313a0c13SJung-uk Kim  * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
278a159c266SJung-uk Kim  * is set to TRUE.
279313a0c13SJung-uk Kim  *
280313a0c13SJung-uk Kim  * Note: This static build option for reduced hardware is intended to
281313a0c13SJung-uk Kim  * reduce ACPICA code size if desired or necessary. However, even if this
282313a0c13SJung-uk Kim  * option is not specified, the runtime behavior of ACPICA is dependent
283313a0c13SJung-uk Kim  * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set,
284313a0c13SJung-uk Kim  * the flag will enable similar behavior -- ACPICA will not attempt
285313a0c13SJung-uk Kim  * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.)
286a159c266SJung-uk Kim  */
287a159c266SJung-uk Kim #if (!ACPI_REDUCED_HARDWARE)
288a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
289313a0c13SJung-uk Kim     ACPI_EXTERNAL_RETURN_STATUS(Prototype)
290a159c266SJung-uk Kim 
291a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
292313a0c13SJung-uk Kim     ACPI_EXTERNAL_RETURN_OK(Prototype)
293a159c266SJung-uk Kim 
294a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
295313a0c13SJung-uk Kim     ACPI_EXTERNAL_RETURN_VOID(Prototype)
296a159c266SJung-uk Kim 
297a159c266SJung-uk Kim #else
298a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
299a159c266SJung-uk Kim     static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
300a159c266SJung-uk Kim 
301a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
302a159c266SJung-uk Kim     static ACPI_INLINE Prototype {return(AE_OK);}
303a159c266SJung-uk Kim 
304a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
305313a0c13SJung-uk Kim     static ACPI_INLINE Prototype {return;}
306a159c266SJung-uk Kim 
307a159c266SJung-uk Kim #endif /* !ACPI_REDUCED_HARDWARE */
308a159c266SJung-uk Kim 
309a159c266SJung-uk Kim 
310a159c266SJung-uk Kim /*
311313a0c13SJung-uk Kim  * Error message prototypes (default: error messages enabled).
312313a0c13SJung-uk Kim  *
313313a0c13SJung-uk Kim  * All interfaces related to error and warning messages
314313a0c13SJung-uk Kim  * will be configured out of the ACPICA build if the
315313a0c13SJung-uk Kim  * ACPI_NO_ERROR_MESSAGE flag is defined.
316313a0c13SJung-uk Kim  */
317313a0c13SJung-uk Kim #ifndef ACPI_NO_ERROR_MESSAGES
318313a0c13SJung-uk Kim #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
319313a0c13SJung-uk Kim     Prototype;
320313a0c13SJung-uk Kim 
321313a0c13SJung-uk Kim #else
322313a0c13SJung-uk Kim #define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \
323313a0c13SJung-uk Kim     static ACPI_INLINE Prototype {return;}
324313a0c13SJung-uk Kim 
325313a0c13SJung-uk Kim #endif /* ACPI_NO_ERROR_MESSAGES */
326313a0c13SJung-uk Kim 
327313a0c13SJung-uk Kim 
328313a0c13SJung-uk Kim /*
329313a0c13SJung-uk Kim  * Debugging output prototypes (default: no debug output).
330313a0c13SJung-uk Kim  *
331313a0c13SJung-uk Kim  * All interfaces related to debug output messages
332313a0c13SJung-uk Kim  * will be configured out of the ACPICA build unless the
333313a0c13SJung-uk Kim  * ACPI_DEBUG_OUTPUT flag is defined.
334313a0c13SJung-uk Kim  */
335313a0c13SJung-uk Kim #ifdef ACPI_DEBUG_OUTPUT
336313a0c13SJung-uk Kim #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
337313a0c13SJung-uk Kim     Prototype;
338313a0c13SJung-uk Kim 
339313a0c13SJung-uk Kim #else
340313a0c13SJung-uk Kim #define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \
341313a0c13SJung-uk Kim     static ACPI_INLINE Prototype {return;}
342313a0c13SJung-uk Kim 
343313a0c13SJung-uk Kim #endif /* ACPI_DEBUG_OUTPUT */
344313a0c13SJung-uk Kim 
345313a0c13SJung-uk Kim 
346313a0c13SJung-uk Kim /*
347313a0c13SJung-uk Kim  * Application prototypes
348313a0c13SJung-uk Kim  *
349313a0c13SJung-uk Kim  * All interfaces used by application will be configured
350313a0c13SJung-uk Kim  * out of the ACPICA build unless the ACPI_APPLICATION
351313a0c13SJung-uk Kim  * flag is defined.
352313a0c13SJung-uk Kim  */
353313a0c13SJung-uk Kim #ifdef ACPI_APPLICATION
354313a0c13SJung-uk Kim #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
355313a0c13SJung-uk Kim     Prototype;
356313a0c13SJung-uk Kim 
357313a0c13SJung-uk Kim #else
358313a0c13SJung-uk Kim #define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \
359313a0c13SJung-uk Kim     static ACPI_INLINE Prototype {return;}
360313a0c13SJung-uk Kim 
361313a0c13SJung-uk Kim #endif /* ACPI_APPLICATION */
362313a0c13SJung-uk Kim 
363313a0c13SJung-uk Kim 
364313a0c13SJung-uk Kim /*****************************************************************************
365313a0c13SJung-uk Kim  *
366313a0c13SJung-uk Kim  * ACPICA public interface prototypes
367313a0c13SJung-uk Kim  *
368313a0c13SJung-uk Kim  ****************************************************************************/
369313a0c13SJung-uk Kim 
370313a0c13SJung-uk Kim /*
3715a77b11bSJung-uk Kim  * Initialization
372a9f12690SJung-uk Kim  */
373313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
374a9f12690SJung-uk Kim ACPI_STATUS
375a9f12690SJung-uk Kim AcpiInitializeTables (
376a9f12690SJung-uk Kim     ACPI_TABLE_DESC         *InitialStorage,
377a9f12690SJung-uk Kim     UINT32                  InitialTableCount,
378313a0c13SJung-uk Kim     BOOLEAN                 AllowResize))
379a9f12690SJung-uk Kim 
380313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
381a9f12690SJung-uk Kim ACPI_STATUS
382a9f12690SJung-uk Kim AcpiInitializeSubsystem (
383313a0c13SJung-uk Kim     void))
384a9f12690SJung-uk Kim 
385313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
386a9f12690SJung-uk Kim ACPI_STATUS
387a9f12690SJung-uk Kim AcpiEnableSubsystem (
388313a0c13SJung-uk Kim     UINT32                  Flags))
389a9f12690SJung-uk Kim 
390313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
391a9f12690SJung-uk Kim ACPI_STATUS
392a9f12690SJung-uk Kim AcpiInitializeObjects (
393313a0c13SJung-uk Kim     UINT32                  Flags))
394a9f12690SJung-uk Kim 
395313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
396a9f12690SJung-uk Kim ACPI_STATUS
397a9f12690SJung-uk Kim AcpiTerminate (
398313a0c13SJung-uk Kim     void))
399a9f12690SJung-uk Kim 
400a9f12690SJung-uk Kim 
4015a77b11bSJung-uk Kim /*
4025a77b11bSJung-uk Kim  * Miscellaneous global interfaces
4035a77b11bSJung-uk Kim  */
404a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
405a9f12690SJung-uk Kim ACPI_STATUS
406a9f12690SJung-uk Kim AcpiEnable (
407a159c266SJung-uk Kim     void))
408a9f12690SJung-uk Kim 
409a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
410a9f12690SJung-uk Kim ACPI_STATUS
411a9f12690SJung-uk Kim AcpiDisable (
412a159c266SJung-uk Kim     void))
413a9f12690SJung-uk Kim 
414313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
415a9f12690SJung-uk Kim ACPI_STATUS
4165a77b11bSJung-uk Kim AcpiSubsystemStatus (
417313a0c13SJung-uk Kim     void))
4185a77b11bSJung-uk Kim 
419313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
4205a77b11bSJung-uk Kim ACPI_STATUS
421a9f12690SJung-uk Kim AcpiGetSystemInfo (
422313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
423a9f12690SJung-uk Kim 
424313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
425a9f12690SJung-uk Kim ACPI_STATUS
426a9f12690SJung-uk Kim AcpiGetStatistics (
427313a0c13SJung-uk Kim     ACPI_STATISTICS         *Stats))
428a9f12690SJung-uk Kim 
429313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_PTR (
430a9f12690SJung-uk Kim const char *
431a9f12690SJung-uk Kim AcpiFormatException (
432313a0c13SJung-uk Kim     ACPI_STATUS             Exception))
433a9f12690SJung-uk Kim 
434313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
435a9f12690SJung-uk Kim ACPI_STATUS
436a9f12690SJung-uk Kim AcpiPurgeCachedObjects (
437313a0c13SJung-uk Kim     void))
438a9f12690SJung-uk Kim 
439313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
440709fac06SJung-uk Kim ACPI_STATUS
441709fac06SJung-uk Kim AcpiInstallInterface (
442313a0c13SJung-uk Kim     ACPI_STRING             InterfaceName))
443709fac06SJung-uk Kim 
444313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
445709fac06SJung-uk Kim ACPI_STATUS
446709fac06SJung-uk Kim AcpiRemoveInterface (
447313a0c13SJung-uk Kim     ACPI_STRING             InterfaceName))
448a9f12690SJung-uk Kim 
449313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
450bf6fac21SJung-uk Kim ACPI_STATUS
451bf6fac21SJung-uk Kim AcpiUpdateInterfaces (
452313a0c13SJung-uk Kim     UINT8                   Action))
453bf6fac21SJung-uk Kim 
454313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_UINT32 (
455ec3fc72fSJung-uk Kim UINT32
456ec3fc72fSJung-uk Kim AcpiCheckAddressRange (
457ec3fc72fSJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
458ec3fc72fSJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
459ec3fc72fSJung-uk Kim     ACPI_SIZE               Length,
460313a0c13SJung-uk Kim     BOOLEAN                 Warn))
461ec3fc72fSJung-uk Kim 
462313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
4631df130f1SJung-uk Kim ACPI_STATUS
4641df130f1SJung-uk Kim AcpiDecodePldBuffer (
4651df130f1SJung-uk Kim     UINT8                   *InBuffer,
4661df130f1SJung-uk Kim     ACPI_SIZE               Length,
467313a0c13SJung-uk Kim     ACPI_PLD_INFO           **ReturnBuffer))
468a9f12690SJung-uk Kim 
469a9f12690SJung-uk Kim 
470a9f12690SJung-uk Kim /*
471e8241eabSJung-uk Kim  * ACPI table load/unload interfaces
472e8241eabSJung-uk Kim  */
473313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
474313a0c13SJung-uk Kim ACPI_STATUS
475313a0c13SJung-uk Kim AcpiInstallTable (
476313a0c13SJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
477313a0c13SJung-uk Kim     BOOLEAN                 Physical))
478313a0c13SJung-uk Kim 
479313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
480e8241eabSJung-uk Kim ACPI_STATUS
481e8241eabSJung-uk Kim AcpiLoadTable (
482313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       *Table))
483e8241eabSJung-uk Kim 
484313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
485e8241eabSJung-uk Kim ACPI_STATUS
486e8241eabSJung-uk Kim AcpiUnloadParentTable (
487313a0c13SJung-uk Kim     ACPI_HANDLE             Object))
488e8241eabSJung-uk Kim 
489313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
490e8241eabSJung-uk Kim ACPI_STATUS
491e8241eabSJung-uk Kim AcpiLoadTables (
492313a0c13SJung-uk Kim     void))
493e8241eabSJung-uk Kim 
494e8241eabSJung-uk Kim 
495e8241eabSJung-uk Kim /*
496a9f12690SJung-uk Kim  * ACPI table manipulation interfaces
497a9f12690SJung-uk Kim  */
498313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
499a9f12690SJung-uk Kim ACPI_STATUS
500a9f12690SJung-uk Kim AcpiReallocateRootTable (
501313a0c13SJung-uk Kim     void))
502a9f12690SJung-uk Kim 
503313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
504a9f12690SJung-uk Kim ACPI_STATUS
505a9f12690SJung-uk Kim AcpiFindRootPointer (
506313a0c13SJung-uk Kim     ACPI_SIZE               *RsdpAddress))
507a9f12690SJung-uk Kim 
508313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
509a9f12690SJung-uk Kim ACPI_STATUS
510a9f12690SJung-uk Kim AcpiGetTableHeader (
511a9f12690SJung-uk Kim     ACPI_STRING             Signature,
512a9f12690SJung-uk Kim     UINT32                  Instance,
513313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       *OutTableHeader))
514a9f12690SJung-uk Kim 
515313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
516a9f12690SJung-uk Kim ACPI_STATUS
517a9f12690SJung-uk Kim AcpiGetTable (
518a9f12690SJung-uk Kim     ACPI_STRING             Signature,
519a9f12690SJung-uk Kim     UINT32                  Instance,
520313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       **OutTable))
521a9f12690SJung-uk Kim 
522313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
523a9f12690SJung-uk Kim ACPI_STATUS
524a9f12690SJung-uk Kim AcpiGetTableByIndex (
525a9f12690SJung-uk Kim     UINT32                  TableIndex,
526313a0c13SJung-uk Kim     ACPI_TABLE_HEADER       **OutTable))
527a9f12690SJung-uk Kim 
528313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
529a9f12690SJung-uk Kim ACPI_STATUS
530a9f12690SJung-uk Kim AcpiInstallTableHandler (
531a9f12690SJung-uk Kim     ACPI_TABLE_HANDLER      Handler,
532313a0c13SJung-uk Kim     void                    *Context))
533a9f12690SJung-uk Kim 
534313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
535a9f12690SJung-uk Kim ACPI_STATUS
536a9f12690SJung-uk Kim AcpiRemoveTableHandler (
537313a0c13SJung-uk Kim     ACPI_TABLE_HANDLER      Handler))
538a9f12690SJung-uk Kim 
539a9f12690SJung-uk Kim 
540a9f12690SJung-uk Kim /*
541a9f12690SJung-uk Kim  * Namespace and name interfaces
542a9f12690SJung-uk Kim  */
543313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
544a9f12690SJung-uk Kim ACPI_STATUS
545a9f12690SJung-uk Kim AcpiWalkNamespace (
546a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        Type,
547a9f12690SJung-uk Kim     ACPI_HANDLE             StartObject,
548a9f12690SJung-uk Kim     UINT32                  MaxDepth,
549bf6fac21SJung-uk Kim     ACPI_WALK_CALLBACK      DescendingCallback,
550bf6fac21SJung-uk Kim     ACPI_WALK_CALLBACK      AscendingCallback,
551a9f12690SJung-uk Kim     void                    *Context,
552313a0c13SJung-uk Kim     void                    **ReturnValue))
553a9f12690SJung-uk Kim 
554313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
555a9f12690SJung-uk Kim ACPI_STATUS
556a9f12690SJung-uk Kim AcpiGetDevices (
557a9f12690SJung-uk Kim     char                    *HID,
558a9f12690SJung-uk Kim     ACPI_WALK_CALLBACK      UserFunction,
559a9f12690SJung-uk Kim     void                    *Context,
560313a0c13SJung-uk Kim     void                    **ReturnValue))
561a9f12690SJung-uk Kim 
562313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
563a9f12690SJung-uk Kim ACPI_STATUS
564a9f12690SJung-uk Kim AcpiGetName (
5653f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
566a9f12690SJung-uk Kim     UINT32                  NameType,
567313a0c13SJung-uk Kim     ACPI_BUFFER             *RetPathPtr))
568a9f12690SJung-uk Kim 
569313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
570a9f12690SJung-uk Kim ACPI_STATUS
571a9f12690SJung-uk Kim AcpiGetHandle (
572a9f12690SJung-uk Kim     ACPI_HANDLE             Parent,
573a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
574313a0c13SJung-uk Kim     ACPI_HANDLE             *RetHandle))
575a9f12690SJung-uk Kim 
576313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
577a9f12690SJung-uk Kim ACPI_STATUS
578a9f12690SJung-uk Kim AcpiAttachData (
5793f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
580a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler,
581313a0c13SJung-uk Kim     void                    *Data))
582a9f12690SJung-uk Kim 
583313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
584a9f12690SJung-uk Kim ACPI_STATUS
585a9f12690SJung-uk Kim AcpiDetachData (
5863f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
587313a0c13SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler))
588a9f12690SJung-uk Kim 
589313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
590a9f12690SJung-uk Kim ACPI_STATUS
591a9f12690SJung-uk Kim AcpiGetData (
5923f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
593a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler,
594313a0c13SJung-uk Kim     void                    **Data))
595a9f12690SJung-uk Kim 
596313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
597a9f12690SJung-uk Kim ACPI_STATUS
598a9f12690SJung-uk Kim AcpiDebugTrace (
599a9f12690SJung-uk Kim     char                    *Name,
600a9f12690SJung-uk Kim     UINT32                  DebugLevel,
601a9f12690SJung-uk Kim     UINT32                  DebugLayer,
602313a0c13SJung-uk Kim     UINT32                  Flags))
603a9f12690SJung-uk Kim 
604a9f12690SJung-uk Kim 
605a9f12690SJung-uk Kim /*
606a9f12690SJung-uk Kim  * Object manipulation and enumeration
607a9f12690SJung-uk Kim  */
608313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
609a9f12690SJung-uk Kim ACPI_STATUS
610a9f12690SJung-uk Kim AcpiEvaluateObject (
611a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
612a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
613a9f12690SJung-uk Kim     ACPI_OBJECT_LIST        *ParameterObjects,
614313a0c13SJung-uk Kim     ACPI_BUFFER             *ReturnObjectBuffer))
615a9f12690SJung-uk Kim 
616313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
617a9f12690SJung-uk Kim ACPI_STATUS
618a9f12690SJung-uk Kim AcpiEvaluateObjectTyped (
619a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
620a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
621a9f12690SJung-uk Kim     ACPI_OBJECT_LIST        *ExternalParams,
622a9f12690SJung-uk Kim     ACPI_BUFFER             *ReturnBuffer,
623313a0c13SJung-uk Kim     ACPI_OBJECT_TYPE        ReturnType))
624a9f12690SJung-uk Kim 
625313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
626a9f12690SJung-uk Kim ACPI_STATUS
627a9f12690SJung-uk Kim AcpiGetObjectInfo (
6283f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
629313a0c13SJung-uk Kim     ACPI_DEVICE_INFO        **ReturnBuffer))
630a9f12690SJung-uk Kim 
631313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
632a9f12690SJung-uk Kim ACPI_STATUS
633a9f12690SJung-uk Kim AcpiInstallMethod (
634313a0c13SJung-uk Kim     UINT8                   *Buffer))
635a9f12690SJung-uk Kim 
636313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
637a9f12690SJung-uk Kim ACPI_STATUS
638a9f12690SJung-uk Kim AcpiGetNextObject (
639a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        Type,
640a9f12690SJung-uk Kim     ACPI_HANDLE             Parent,
641a9f12690SJung-uk Kim     ACPI_HANDLE             Child,
642313a0c13SJung-uk Kim     ACPI_HANDLE             *OutHandle))
643a9f12690SJung-uk Kim 
644313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
645a9f12690SJung-uk Kim ACPI_STATUS
646a9f12690SJung-uk Kim AcpiGetType (
647a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
648313a0c13SJung-uk Kim     ACPI_OBJECT_TYPE        *OutType))
649a9f12690SJung-uk Kim 
650313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
651a9f12690SJung-uk Kim ACPI_STATUS
652a9f12690SJung-uk Kim AcpiGetParent (
653a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
654313a0c13SJung-uk Kim     ACPI_HANDLE             *OutHandle))
655a9f12690SJung-uk Kim 
656a9f12690SJung-uk Kim 
657a9f12690SJung-uk Kim /*
658a9f12690SJung-uk Kim  * Handler interfaces
659a9f12690SJung-uk Kim  */
660313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
661a9f12690SJung-uk Kim ACPI_STATUS
662a9f12690SJung-uk Kim AcpiInstallInitializationHandler (
663a9f12690SJung-uk Kim     ACPI_INIT_HANDLER       Handler,
664313a0c13SJung-uk Kim     UINT32                  Function))
665a9f12690SJung-uk Kim 
666a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
667a9f12690SJung-uk Kim ACPI_STATUS
66879c6d946SJung-uk Kim AcpiInstallSciHandler (
66979c6d946SJung-uk Kim     ACPI_SCI_HANDLER        Address,
67079c6d946SJung-uk Kim     void                    *Context))
67179c6d946SJung-uk Kim 
67279c6d946SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
67379c6d946SJung-uk Kim ACPI_STATUS
67479c6d946SJung-uk Kim AcpiRemoveSciHandler (
67579c6d946SJung-uk Kim     ACPI_SCI_HANDLER        Address))
67679c6d946SJung-uk Kim 
67779c6d946SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
67879c6d946SJung-uk Kim ACPI_STATUS
6795a77b11bSJung-uk Kim AcpiInstallGlobalEventHandler (
6805a77b11bSJung-uk Kim     ACPI_GBL_EVENT_HANDLER  Handler,
681a159c266SJung-uk Kim     void                    *Context))
6825a77b11bSJung-uk Kim 
683a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
6845a77b11bSJung-uk Kim ACPI_STATUS
685a9f12690SJung-uk Kim AcpiInstallFixedEventHandler (
686a9f12690SJung-uk Kim     UINT32                  AcpiEvent,
687a9f12690SJung-uk Kim     ACPI_EVENT_HANDLER      Handler,
688a159c266SJung-uk Kim     void                    *Context))
689a9f12690SJung-uk Kim 
690a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
691a9f12690SJung-uk Kim ACPI_STATUS
692a9f12690SJung-uk Kim AcpiRemoveFixedEventHandler (
693a9f12690SJung-uk Kim     UINT32                  AcpiEvent,
694a159c266SJung-uk Kim     ACPI_EVENT_HANDLER      Handler))
695a9f12690SJung-uk Kim 
696a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
697a9f12690SJung-uk Kim ACPI_STATUS
6985a77b11bSJung-uk Kim AcpiInstallGpeHandler (
6995a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
7005a77b11bSJung-uk Kim     UINT32                  GpeNumber,
7015a77b11bSJung-uk Kim     UINT32                  Type,
7025a77b11bSJung-uk Kim     ACPI_GPE_HANDLER        Address,
703a159c266SJung-uk Kim     void                    *Context))
7045a77b11bSJung-uk Kim 
705a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
7065a77b11bSJung-uk Kim ACPI_STATUS
707*1c0e1b6dSJung-uk Kim AcpiInstallGpeRawHandler (
708*1c0e1b6dSJung-uk Kim     ACPI_HANDLE             GpeDevice,
709*1c0e1b6dSJung-uk Kim     UINT32                  GpeNumber,
710*1c0e1b6dSJung-uk Kim     UINT32                  Type,
711*1c0e1b6dSJung-uk Kim     ACPI_GPE_HANDLER        Address,
712*1c0e1b6dSJung-uk Kim     void                    *Context))
713*1c0e1b6dSJung-uk Kim 
714*1c0e1b6dSJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
715*1c0e1b6dSJung-uk Kim ACPI_STATUS
7165a77b11bSJung-uk Kim AcpiRemoveGpeHandler (
7175a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
7185a77b11bSJung-uk Kim     UINT32                  GpeNumber,
719a159c266SJung-uk Kim     ACPI_GPE_HANDLER        Address))
7205a77b11bSJung-uk Kim 
721313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
7225a77b11bSJung-uk Kim ACPI_STATUS
723a9f12690SJung-uk Kim AcpiInstallNotifyHandler (
724a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
725a9f12690SJung-uk Kim     UINT32                  HandlerType,
726a9f12690SJung-uk Kim     ACPI_NOTIFY_HANDLER     Handler,
727313a0c13SJung-uk Kim     void                    *Context))
728a9f12690SJung-uk Kim 
729313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
730a9f12690SJung-uk Kim ACPI_STATUS
731a9f12690SJung-uk Kim AcpiRemoveNotifyHandler (
732a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
733a9f12690SJung-uk Kim     UINT32                  HandlerType,
734313a0c13SJung-uk Kim     ACPI_NOTIFY_HANDLER     Handler))
735a9f12690SJung-uk Kim 
736313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
737a9f12690SJung-uk Kim ACPI_STATUS
738a9f12690SJung-uk Kim AcpiInstallAddressSpaceHandler (
739a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
740a9f12690SJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
741a9f12690SJung-uk Kim     ACPI_ADR_SPACE_HANDLER  Handler,
742a9f12690SJung-uk Kim     ACPI_ADR_SPACE_SETUP    Setup,
743313a0c13SJung-uk Kim     void                    *Context))
744a9f12690SJung-uk Kim 
745313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
746a9f12690SJung-uk Kim ACPI_STATUS
747a9f12690SJung-uk Kim AcpiRemoveAddressSpaceHandler (
748a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
749a9f12690SJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
750313a0c13SJung-uk Kim     ACPI_ADR_SPACE_HANDLER  Handler))
751a9f12690SJung-uk Kim 
752313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
753a9f12690SJung-uk Kim ACPI_STATUS
754a9f12690SJung-uk Kim AcpiInstallExceptionHandler (
755313a0c13SJung-uk Kim     ACPI_EXCEPTION_HANDLER  Handler))
756a9f12690SJung-uk Kim 
757313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
758709fac06SJung-uk Kim ACPI_STATUS
759709fac06SJung-uk Kim AcpiInstallInterfaceHandler (
760313a0c13SJung-uk Kim     ACPI_INTERFACE_HANDLER  Handler))
761709fac06SJung-uk Kim 
762a9f12690SJung-uk Kim 
763a9f12690SJung-uk Kim /*
7645a77b11bSJung-uk Kim  * Global Lock interfaces
765a9f12690SJung-uk Kim  */
766a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
767a9f12690SJung-uk Kim ACPI_STATUS
768a9f12690SJung-uk Kim AcpiAcquireGlobalLock (
769a9f12690SJung-uk Kim     UINT16                  Timeout,
770a159c266SJung-uk Kim     UINT32                  *Handle))
771a9f12690SJung-uk Kim 
772a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
773a9f12690SJung-uk Kim ACPI_STATUS
774a9f12690SJung-uk Kim AcpiReleaseGlobalLock (
775a159c266SJung-uk Kim     UINT32                  Handle))
776a9f12690SJung-uk Kim 
7775a77b11bSJung-uk Kim 
7785a77b11bSJung-uk Kim /*
7793f0275a0SJung-uk Kim  * Interfaces to AML mutex objects
7803f0275a0SJung-uk Kim  */
781313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
7823f0275a0SJung-uk Kim ACPI_STATUS
7833f0275a0SJung-uk Kim AcpiAcquireMutex (
7843f0275a0SJung-uk Kim     ACPI_HANDLE             Handle,
7853f0275a0SJung-uk Kim     ACPI_STRING             Pathname,
786313a0c13SJung-uk Kim     UINT16                  Timeout))
7873f0275a0SJung-uk Kim 
788313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
7893f0275a0SJung-uk Kim ACPI_STATUS
7903f0275a0SJung-uk Kim AcpiReleaseMutex (
7913f0275a0SJung-uk Kim     ACPI_HANDLE             Handle,
792313a0c13SJung-uk Kim     ACPI_STRING             Pathname))
7933f0275a0SJung-uk Kim 
7943f0275a0SJung-uk Kim 
7953f0275a0SJung-uk Kim /*
7965a77b11bSJung-uk Kim  * Fixed Event interfaces
7975a77b11bSJung-uk Kim  */
798a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
799a9f12690SJung-uk Kim ACPI_STATUS
800a9f12690SJung-uk Kim AcpiEnableEvent (
801a9f12690SJung-uk Kim     UINT32                  Event,
802a159c266SJung-uk Kim     UINT32                  Flags))
803a9f12690SJung-uk Kim 
804a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
805a9f12690SJung-uk Kim ACPI_STATUS
806a9f12690SJung-uk Kim AcpiDisableEvent (
807a9f12690SJung-uk Kim     UINT32                  Event,
808a159c266SJung-uk Kim     UINT32                  Flags))
809a9f12690SJung-uk Kim 
810a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
811a9f12690SJung-uk Kim ACPI_STATUS
812a9f12690SJung-uk Kim AcpiClearEvent (
813a159c266SJung-uk Kim     UINT32                  Event))
814a9f12690SJung-uk Kim 
815a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
816a9f12690SJung-uk Kim ACPI_STATUS
817a9f12690SJung-uk Kim AcpiGetEventStatus (
818a9f12690SJung-uk Kim     UINT32                  Event,
819a159c266SJung-uk Kim     ACPI_EVENT_STATUS       *EventStatus))
820a9f12690SJung-uk Kim 
821a9f12690SJung-uk Kim 
822a9f12690SJung-uk Kim /*
8235a77b11bSJung-uk Kim  * General Purpose Event (GPE) Interfaces
824a9f12690SJung-uk Kim  */
825a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
826a9f12690SJung-uk Kim ACPI_STATUS
8275a77b11bSJung-uk Kim AcpiUpdateAllGpes (
828a159c266SJung-uk Kim     void))
829a9f12690SJung-uk Kim 
830a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
831a9f12690SJung-uk Kim ACPI_STATUS
832a9f12690SJung-uk Kim AcpiEnableGpe (
833a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
834a159c266SJung-uk Kim     UINT32                  GpeNumber))
835a9f12690SJung-uk Kim 
836a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
837a9f12690SJung-uk Kim ACPI_STATUS
838a9f12690SJung-uk Kim AcpiDisableGpe (
839a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
840a159c266SJung-uk Kim     UINT32                  GpeNumber))
841a9f12690SJung-uk Kim 
842a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
843a9f12690SJung-uk Kim ACPI_STATUS
844a9f12690SJung-uk Kim AcpiClearGpe (
845a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
846a159c266SJung-uk Kim     UINT32                  GpeNumber))
847a9f12690SJung-uk Kim 
848a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
849a9f12690SJung-uk Kim ACPI_STATUS
8505a77b11bSJung-uk Kim AcpiSetGpe (
8515a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
8525a77b11bSJung-uk Kim     UINT32                  GpeNumber,
853a159c266SJung-uk Kim     UINT8                   Action))
8545a77b11bSJung-uk Kim 
855a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
8565a77b11bSJung-uk Kim ACPI_STATUS
8575a77b11bSJung-uk Kim AcpiFinishGpe (
8585a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
859a159c266SJung-uk Kim     UINT32                  GpeNumber))
8605a77b11bSJung-uk Kim 
861a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
8625a77b11bSJung-uk Kim ACPI_STATUS
863313a0c13SJung-uk Kim AcpiMarkGpeForWake (
864313a0c13SJung-uk Kim     ACPI_HANDLE             GpeDevice,
865313a0c13SJung-uk Kim     UINT32                  GpeNumber))
866313a0c13SJung-uk Kim 
867313a0c13SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
868313a0c13SJung-uk Kim ACPI_STATUS
8695a77b11bSJung-uk Kim AcpiSetupGpeForWake (
8705a77b11bSJung-uk Kim     ACPI_HANDLE             ParentDevice,
8715a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
872a159c266SJung-uk Kim     UINT32                  GpeNumber))
8735a77b11bSJung-uk Kim 
874a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
8755a77b11bSJung-uk Kim ACPI_STATUS
8765a77b11bSJung-uk Kim AcpiSetGpeWakeMask (
877a88e22b7SJung-uk Kim     ACPI_HANDLE             GpeDevice,
878a88e22b7SJung-uk Kim     UINT32                  GpeNumber,
879a159c266SJung-uk Kim     UINT8                   Action))
880a88e22b7SJung-uk Kim 
881a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
882a88e22b7SJung-uk Kim ACPI_STATUS
883a9f12690SJung-uk Kim AcpiGetGpeStatus (
884a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
885a9f12690SJung-uk Kim     UINT32                  GpeNumber,
886a159c266SJung-uk Kim     ACPI_EVENT_STATUS       *EventStatus))
887a9f12690SJung-uk Kim 
888a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
889a9f12690SJung-uk Kim ACPI_STATUS
890a9f12690SJung-uk Kim AcpiDisableAllGpes (
891a159c266SJung-uk Kim     void))
892a9f12690SJung-uk Kim 
893a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
894a9f12690SJung-uk Kim ACPI_STATUS
895a9f12690SJung-uk Kim AcpiEnableAllRuntimeGpes (
896a159c266SJung-uk Kim     void))
897a9f12690SJung-uk Kim 
898a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
899a9f12690SJung-uk Kim ACPI_STATUS
900*1c0e1b6dSJung-uk Kim AcpiEnableAllWakeupGpes (
901*1c0e1b6dSJung-uk Kim     void))
902*1c0e1b6dSJung-uk Kim 
903*1c0e1b6dSJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
904*1c0e1b6dSJung-uk Kim ACPI_STATUS
905a9f12690SJung-uk Kim AcpiGetGpeDevice (
906a9f12690SJung-uk Kim     UINT32                  GpeIndex,
907a159c266SJung-uk Kim     ACPI_HANDLE             *GpeDevice))
908a9f12690SJung-uk Kim 
909a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
910a9f12690SJung-uk Kim ACPI_STATUS
911a9f12690SJung-uk Kim AcpiInstallGpeBlock (
912a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
913a9f12690SJung-uk Kim     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
914a9f12690SJung-uk Kim     UINT32                  RegisterCount,
915a159c266SJung-uk Kim     UINT32                  InterruptNumber))
916a9f12690SJung-uk Kim 
917a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
918a9f12690SJung-uk Kim ACPI_STATUS
919a9f12690SJung-uk Kim AcpiRemoveGpeBlock (
920a159c266SJung-uk Kim     ACPI_HANDLE             GpeDevice))
921a9f12690SJung-uk Kim 
922a9f12690SJung-uk Kim 
923a9f12690SJung-uk Kim /*
924a9f12690SJung-uk Kim  * Resource interfaces
925a9f12690SJung-uk Kim  */
926a9f12690SJung-uk Kim typedef
927a9f12690SJung-uk Kim ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
928a9f12690SJung-uk Kim     ACPI_RESOURCE           *Resource,
929a9f12690SJung-uk Kim     void                    *Context);
930a9f12690SJung-uk Kim 
931313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
932a9f12690SJung-uk Kim ACPI_STATUS
933a9f12690SJung-uk Kim AcpiGetVendorResource (
9343f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
935a9f12690SJung-uk Kim     char                    *Name,
936a9f12690SJung-uk Kim     ACPI_VENDOR_UUID        *Uuid,
937313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
938a9f12690SJung-uk Kim 
939313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
940a9f12690SJung-uk Kim ACPI_STATUS
941a9f12690SJung-uk Kim AcpiGetCurrentResources (
9423f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
943313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
944a9f12690SJung-uk Kim 
945313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
946a9f12690SJung-uk Kim ACPI_STATUS
947a9f12690SJung-uk Kim AcpiGetPossibleResources (
9483f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
949313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
950a9f12690SJung-uk Kim 
951313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
952a9f12690SJung-uk Kim ACPI_STATUS
9533f0275a0SJung-uk Kim AcpiGetEventResources (
9543f0275a0SJung-uk Kim     ACPI_HANDLE             DeviceHandle,
955313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
9563f0275a0SJung-uk Kim 
957313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
9583f0275a0SJung-uk Kim ACPI_STATUS
959efcc2a30SJung-uk Kim AcpiWalkResourceBuffer (
960efcc2a30SJung-uk Kim     ACPI_BUFFER                 *Buffer,
961efcc2a30SJung-uk Kim     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
962313a0c13SJung-uk Kim     void                        *Context))
963efcc2a30SJung-uk Kim 
964313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
965efcc2a30SJung-uk Kim ACPI_STATUS
966a9f12690SJung-uk Kim AcpiWalkResources (
9673f5e024cSJung-uk Kim     ACPI_HANDLE                 Device,
968a9f12690SJung-uk Kim     char                        *Name,
969a9f12690SJung-uk Kim     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
970313a0c13SJung-uk Kim     void                        *Context))
971a9f12690SJung-uk Kim 
972313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
973a9f12690SJung-uk Kim ACPI_STATUS
974a9f12690SJung-uk Kim AcpiSetCurrentResources (
9753f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
976313a0c13SJung-uk Kim     ACPI_BUFFER             *InBuffer))
977a9f12690SJung-uk Kim 
978313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
979a9f12690SJung-uk Kim ACPI_STATUS
980a9f12690SJung-uk Kim AcpiGetIrqRoutingTable (
9813f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
982313a0c13SJung-uk Kim     ACPI_BUFFER             *RetBuffer))
983a9f12690SJung-uk Kim 
984313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
985a9f12690SJung-uk Kim ACPI_STATUS
986a9f12690SJung-uk Kim AcpiResourceToAddress64 (
987a9f12690SJung-uk Kim     ACPI_RESOURCE           *Resource,
988313a0c13SJung-uk Kim     ACPI_RESOURCE_ADDRESS64 *Out))
989a9f12690SJung-uk Kim 
990313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
9913f0275a0SJung-uk Kim ACPI_STATUS
9923f0275a0SJung-uk Kim AcpiBufferToResource (
9933f0275a0SJung-uk Kim     UINT8                   *AmlBuffer,
9943f0275a0SJung-uk Kim     UINT16                  AmlBufferLength,
995313a0c13SJung-uk Kim     ACPI_RESOURCE           **ResourcePtr))
9963f0275a0SJung-uk Kim 
997a9f12690SJung-uk Kim 
998a9f12690SJung-uk Kim /*
999a9f12690SJung-uk Kim  * Hardware (ACPI device) interfaces
1000a9f12690SJung-uk Kim  */
1001313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1002a9f12690SJung-uk Kim ACPI_STATUS
1003a9f12690SJung-uk Kim AcpiReset (
1004313a0c13SJung-uk Kim     void))
1005a9f12690SJung-uk Kim 
1006313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1007a9f12690SJung-uk Kim ACPI_STATUS
1008a9f12690SJung-uk Kim AcpiRead (
1009d6dd1baeSJung-uk Kim     UINT64                  *Value,
1010313a0c13SJung-uk Kim     ACPI_GENERIC_ADDRESS    *Reg))
1011a9f12690SJung-uk Kim 
1012313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1013a9f12690SJung-uk Kim ACPI_STATUS
1014a9f12690SJung-uk Kim AcpiWrite (
1015d6dd1baeSJung-uk Kim     UINT64                  Value,
1016313a0c13SJung-uk Kim     ACPI_GENERIC_ADDRESS    *Reg))
1017a9f12690SJung-uk Kim 
1018a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1019a9f12690SJung-uk Kim ACPI_STATUS
1020a9f12690SJung-uk Kim AcpiReadBitRegister (
1021a9f12690SJung-uk Kim     UINT32                  RegisterId,
1022a159c266SJung-uk Kim     UINT32                  *ReturnValue))
1023a9f12690SJung-uk Kim 
1024a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1025a9f12690SJung-uk Kim ACPI_STATUS
1026a9f12690SJung-uk Kim AcpiWriteBitRegister (
1027a9f12690SJung-uk Kim     UINT32                  RegisterId,
1028a159c266SJung-uk Kim     UINT32                  Value))
1029a9f12690SJung-uk Kim 
1030a159c266SJung-uk Kim 
1031a159c266SJung-uk Kim /*
1032a159c266SJung-uk Kim  * Sleep/Wake interfaces
1033a159c266SJung-uk Kim  */
1034313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1035a9f12690SJung-uk Kim ACPI_STATUS
1036a9f12690SJung-uk Kim AcpiGetSleepTypeData (
1037a9f12690SJung-uk Kim     UINT8                   SleepState,
1038a9f12690SJung-uk Kim     UINT8                   *Slp_TypA,
1039313a0c13SJung-uk Kim     UINT8                   *Slp_TypB))
1040a9f12690SJung-uk Kim 
1041313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1042a9f12690SJung-uk Kim ACPI_STATUS
1043a9f12690SJung-uk Kim AcpiEnterSleepStatePrep (
1044313a0c13SJung-uk Kim     UINT8                   SleepState))
1045a9f12690SJung-uk Kim 
1046313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1047a9f12690SJung-uk Kim ACPI_STATUS
1048a9f12690SJung-uk Kim AcpiEnterSleepState (
1049313a0c13SJung-uk Kim     UINT8                   SleepState))
1050a9f12690SJung-uk Kim 
1051a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1052a9f12690SJung-uk Kim ACPI_STATUS
1053a9f12690SJung-uk Kim AcpiEnterSleepStateS4bios (
1054a159c266SJung-uk Kim     void))
1055a159c266SJung-uk Kim 
1056313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1057a159c266SJung-uk Kim ACPI_STATUS
1058a159c266SJung-uk Kim AcpiLeaveSleepStatePrep (
1059313a0c13SJung-uk Kim     UINT8                   SleepState))
1060a9f12690SJung-uk Kim 
1061313a0c13SJung-uk Kim ACPI_EXTERNAL_RETURN_STATUS (
1062a9f12690SJung-uk Kim ACPI_STATUS
1063a9f12690SJung-uk Kim AcpiLeaveSleepState (
1064313a0c13SJung-uk Kim     UINT8                   SleepState))
1065a159c266SJung-uk Kim 
1066a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1067a9f12690SJung-uk Kim ACPI_STATUS
1068a9f12690SJung-uk Kim AcpiSetFirmwareWakingVector (
1069a159c266SJung-uk Kim     UINT32                  PhysicalAddress))
1070a9f12690SJung-uk Kim 
1071a9f12690SJung-uk Kim #if ACPI_MACHINE_WIDTH == 64
1072a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1073a9f12690SJung-uk Kim ACPI_STATUS
1074a9f12690SJung-uk Kim AcpiSetFirmwareWakingVector64 (
1075a159c266SJung-uk Kim     UINT64                  PhysicalAddress))
1076a9f12690SJung-uk Kim #endif
1077a9f12690SJung-uk Kim 
1078a9f12690SJung-uk Kim 
1079a9f12690SJung-uk Kim /*
1080a159c266SJung-uk Kim  * ACPI Timer interfaces
1081a159c266SJung-uk Kim  */
1082a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1083a159c266SJung-uk Kim ACPI_STATUS
1084a159c266SJung-uk Kim AcpiGetTimerResolution (
1085a159c266SJung-uk Kim     UINT32                  *Resolution))
1086a159c266SJung-uk Kim 
1087a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1088a159c266SJung-uk Kim ACPI_STATUS
1089a159c266SJung-uk Kim AcpiGetTimer (
1090a159c266SJung-uk Kim     UINT32                  *Ticks))
1091a159c266SJung-uk Kim 
1092a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
1093a159c266SJung-uk Kim ACPI_STATUS
1094a159c266SJung-uk Kim AcpiGetTimerDuration (
1095a159c266SJung-uk Kim     UINT32                  StartTicks,
1096a159c266SJung-uk Kim     UINT32                  EndTicks,
1097a159c266SJung-uk Kim     UINT32                  *TimeElapsed))
1098a159c266SJung-uk Kim 
1099a159c266SJung-uk Kim 
1100a159c266SJung-uk Kim /*
1101a9f12690SJung-uk Kim  * Error/Warning output
1102a9f12690SJung-uk Kim  */
1103313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1104313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1105a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1106a9f12690SJung-uk Kim AcpiError (
1107a9f12690SJung-uk Kim     const char              *ModuleName,
1108a9f12690SJung-uk Kim     UINT32                  LineNumber,
1109a9f12690SJung-uk Kim     const char              *Format,
1110313a0c13SJung-uk Kim     ...))
1111a9f12690SJung-uk Kim 
1112313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1113313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(4)
1114a9f12690SJung-uk Kim void  ACPI_INTERNAL_VAR_XFACE
1115a9f12690SJung-uk Kim AcpiException (
1116a9f12690SJung-uk Kim     const char              *ModuleName,
1117a9f12690SJung-uk Kim     UINT32                  LineNumber,
1118a9f12690SJung-uk Kim     ACPI_STATUS             Status,
1119a9f12690SJung-uk Kim     const char              *Format,
1120313a0c13SJung-uk Kim     ...))
1121a9f12690SJung-uk Kim 
1122313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1123313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1124a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1125a9f12690SJung-uk Kim AcpiWarning (
1126a9f12690SJung-uk Kim     const char              *ModuleName,
1127a9f12690SJung-uk Kim     UINT32                  LineNumber,
1128a9f12690SJung-uk Kim     const char              *Format,
1129313a0c13SJung-uk Kim     ...))
1130a9f12690SJung-uk Kim 
1131313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1132313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1133a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1134a9f12690SJung-uk Kim AcpiInfo (
1135a9f12690SJung-uk Kim     const char              *ModuleName,
1136a9f12690SJung-uk Kim     UINT32                  LineNumber,
1137a9f12690SJung-uk Kim     const char              *Format,
1138313a0c13SJung-uk Kim     ...))
1139a9f12690SJung-uk Kim 
1140313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1141313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1142e8241eabSJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1143e8241eabSJung-uk Kim AcpiBiosError (
1144e8241eabSJung-uk Kim     const char              *ModuleName,
1145e8241eabSJung-uk Kim     UINT32                  LineNumber,
1146e8241eabSJung-uk Kim     const char              *Format,
1147313a0c13SJung-uk Kim     ...))
1148e8241eabSJung-uk Kim 
1149313a0c13SJung-uk Kim ACPI_MSG_DEPENDENT_RETURN_VOID (
1150313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(3)
1151e8241eabSJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1152e8241eabSJung-uk Kim AcpiBiosWarning (
1153e8241eabSJung-uk Kim     const char              *ModuleName,
1154e8241eabSJung-uk Kim     UINT32                  LineNumber,
1155e8241eabSJung-uk Kim     const char              *Format,
1156313a0c13SJung-uk Kim     ...))
1157e8241eabSJung-uk Kim 
1158a9f12690SJung-uk Kim 
1159a9f12690SJung-uk Kim /*
1160a9f12690SJung-uk Kim  * Debug output
1161a9f12690SJung-uk Kim  */
1162313a0c13SJung-uk Kim ACPI_DBG_DEPENDENT_RETURN_VOID (
1163313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(6)
1164a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1165a9f12690SJung-uk Kim AcpiDebugPrint (
1166a9f12690SJung-uk Kim     UINT32                  RequestedDebugLevel,
1167a9f12690SJung-uk Kim     UINT32                  LineNumber,
1168a9f12690SJung-uk Kim     const char              *FunctionName,
1169a9f12690SJung-uk Kim     const char              *ModuleName,
1170a9f12690SJung-uk Kim     UINT32                  ComponentId,
1171a9f12690SJung-uk Kim     const char              *Format,
1172313a0c13SJung-uk Kim     ...))
1173a9f12690SJung-uk Kim 
1174313a0c13SJung-uk Kim ACPI_DBG_DEPENDENT_RETURN_VOID (
1175313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(6)
1176a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1177a9f12690SJung-uk Kim AcpiDebugPrintRaw (
1178a9f12690SJung-uk Kim     UINT32                  RequestedDebugLevel,
1179a9f12690SJung-uk Kim     UINT32                  LineNumber,
1180a9f12690SJung-uk Kim     const char              *FunctionName,
1181a9f12690SJung-uk Kim     const char              *ModuleName,
1182a9f12690SJung-uk Kim     UINT32                  ComponentId,
1183a9f12690SJung-uk Kim     const char              *Format,
1184313a0c13SJung-uk Kim     ...))
1185313a0c13SJung-uk Kim 
1186313a0c13SJung-uk Kim ACPI_APP_DEPENDENT_RETURN_VOID (
1187313a0c13SJung-uk Kim ACPI_PRINTF_LIKE(1)
1188313a0c13SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
1189313a0c13SJung-uk Kim AcpiLogError (
1190313a0c13SJung-uk Kim     const char              *Format,
1191313a0c13SJung-uk Kim     ...))
1192a9f12690SJung-uk Kim 
1193a9f12690SJung-uk Kim #endif /* __ACXFACE_H__ */
1194