xref: /freebsd/sys/contrib/dev/acpica/include/acpixf.h (revision efcc2a30547c400649a351e85e6cd97dab8f3817)
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*efcc2a30SJung-uk Kim  * Copyright (C) 2000 - 2013, 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 
45a9f12690SJung-uk Kim #ifndef __ACXFACE_H__
46a9f12690SJung-uk Kim #define __ACXFACE_H__
47a9f12690SJung-uk Kim 
48a9f12690SJung-uk Kim /* Current ACPICA subsystem version in YYYYMMDD format */
49a9f12690SJung-uk Kim 
50*efcc2a30SJung-uk Kim #define ACPI_CA_VERSION                 0x20130117
51a9f12690SJung-uk Kim 
52a159c266SJung-uk Kim #include <contrib/dev/acpica/include/acconfig.h>
53ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/actypes.h>
54ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/actbl.h>
551df130f1SJung-uk Kim #include <contrib/dev/acpica/include/acbuffer.h>
56a9f12690SJung-uk Kim 
57a9f12690SJung-uk Kim /*
58a9f12690SJung-uk Kim  * Globals that are publically available
59a9f12690SJung-uk Kim  */
60a9f12690SJung-uk Kim extern UINT32               AcpiCurrentGpeCount;
61a9f12690SJung-uk Kim extern ACPI_TABLE_FADT      AcpiGbl_FADT;
6242fecd12SJung-uk Kim extern BOOLEAN              AcpiGbl_SystemAwakeAndRunning;
633f0275a0SJung-uk Kim extern BOOLEAN              AcpiGbl_ReducedHardware;        /* ACPI 5.0 */
64a9f12690SJung-uk Kim 
65a9f12690SJung-uk Kim /* Runtime configuration of debug print levels */
66a9f12690SJung-uk Kim 
67a9f12690SJung-uk Kim extern UINT32               AcpiDbgLevel;
68a9f12690SJung-uk Kim extern UINT32               AcpiDbgLayer;
69a9f12690SJung-uk Kim 
70a9f12690SJung-uk Kim /* ACPICA runtime options */
71a9f12690SJung-uk Kim 
72a9f12690SJung-uk Kim extern UINT8                AcpiGbl_EnableInterpreterSlack;
73a9f12690SJung-uk Kim extern UINT8                AcpiGbl_AllMethodsSerialized;
74a9f12690SJung-uk Kim extern UINT8                AcpiGbl_CreateOsiMethod;
75a9f12690SJung-uk Kim extern UINT8                AcpiGbl_UseDefaultRegisterWidths;
76a9f12690SJung-uk Kim extern ACPI_NAME            AcpiGbl_TraceMethodName;
77a9f12690SJung-uk Kim extern UINT32               AcpiGbl_TraceFlags;
78ca3cf4faSJung-uk Kim extern UINT8                AcpiGbl_EnableAmlDebugObject;
798c8be05fSJung-uk Kim extern UINT8                AcpiGbl_CopyDsdtLocally;
80a88e22b7SJung-uk Kim extern UINT8                AcpiGbl_TruncateIoAddresses;
813f0275a0SJung-uk Kim extern UINT8                AcpiGbl_DisableAutoRepair;
82a9f12690SJung-uk Kim 
83a9f12690SJung-uk Kim 
84a9f12690SJung-uk Kim /*
85a159c266SJung-uk Kim  * Hardware-reduced prototypes. All interfaces that use these macros will
86a159c266SJung-uk Kim  * be configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag
87a159c266SJung-uk Kim  * is set to TRUE.
88a159c266SJung-uk Kim  */
89a159c266SJung-uk Kim #if (!ACPI_REDUCED_HARDWARE)
90a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
91a159c266SJung-uk Kim     Prototype;
92a159c266SJung-uk Kim 
93a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
94a159c266SJung-uk Kim     Prototype;
95a159c266SJung-uk Kim 
96a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
97a159c266SJung-uk Kim     Prototype;
98a159c266SJung-uk Kim 
99a159c266SJung-uk Kim #else
100a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \
101a159c266SJung-uk Kim     static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);}
102a159c266SJung-uk Kim 
103a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
104a159c266SJung-uk Kim     static ACPI_INLINE Prototype {return(AE_OK);}
105a159c266SJung-uk Kim 
106a159c266SJung-uk Kim #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
107a159c266SJung-uk Kim     static ACPI_INLINE Prototype {}
108a159c266SJung-uk Kim 
109a159c266SJung-uk Kim #endif /* !ACPI_REDUCED_HARDWARE */
110a159c266SJung-uk Kim 
111a159c266SJung-uk Kim 
112a159c266SJung-uk Kim /*
1135a77b11bSJung-uk Kim  * Initialization
114a9f12690SJung-uk Kim  */
115a9f12690SJung-uk Kim ACPI_STATUS
116a9f12690SJung-uk Kim AcpiInitializeTables (
117a9f12690SJung-uk Kim     ACPI_TABLE_DESC         *InitialStorage,
118a9f12690SJung-uk Kim     UINT32                  InitialTableCount,
119a9f12690SJung-uk Kim     BOOLEAN                 AllowResize);
120a9f12690SJung-uk Kim 
121a9f12690SJung-uk Kim ACPI_STATUS
122a9f12690SJung-uk Kim AcpiInitializeSubsystem (
123a9f12690SJung-uk Kim     void);
124a9f12690SJung-uk Kim 
125a9f12690SJung-uk Kim ACPI_STATUS
126a9f12690SJung-uk Kim AcpiEnableSubsystem (
127a9f12690SJung-uk Kim     UINT32                  Flags);
128a9f12690SJung-uk Kim 
129a9f12690SJung-uk Kim ACPI_STATUS
130a9f12690SJung-uk Kim AcpiInitializeObjects (
131a9f12690SJung-uk Kim     UINT32                  Flags);
132a9f12690SJung-uk Kim 
133a9f12690SJung-uk Kim ACPI_STATUS
134a9f12690SJung-uk Kim AcpiTerminate (
135a9f12690SJung-uk Kim     void);
136a9f12690SJung-uk Kim 
137a9f12690SJung-uk Kim 
1385a77b11bSJung-uk Kim /*
1395a77b11bSJung-uk Kim  * Miscellaneous global interfaces
1405a77b11bSJung-uk Kim  */
141a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
142a9f12690SJung-uk Kim ACPI_STATUS
143a9f12690SJung-uk Kim AcpiEnable (
144a159c266SJung-uk Kim     void))
145a9f12690SJung-uk Kim 
146a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
147a9f12690SJung-uk Kim ACPI_STATUS
148a9f12690SJung-uk Kim AcpiDisable (
149a159c266SJung-uk Kim     void))
150a9f12690SJung-uk Kim 
151a9f12690SJung-uk Kim ACPI_STATUS
1525a77b11bSJung-uk Kim AcpiSubsystemStatus (
1535a77b11bSJung-uk Kim     void);
1545a77b11bSJung-uk Kim 
1555a77b11bSJung-uk Kim ACPI_STATUS
156a9f12690SJung-uk Kim AcpiGetSystemInfo (
157a9f12690SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
158a9f12690SJung-uk Kim 
159a9f12690SJung-uk Kim ACPI_STATUS
160a9f12690SJung-uk Kim AcpiGetStatistics (
161a9f12690SJung-uk Kim     ACPI_STATISTICS         *Stats);
162a9f12690SJung-uk Kim 
163a9f12690SJung-uk Kim const char *
164a9f12690SJung-uk Kim AcpiFormatException (
165a9f12690SJung-uk Kim     ACPI_STATUS             Exception);
166a9f12690SJung-uk Kim 
167a9f12690SJung-uk Kim ACPI_STATUS
168a9f12690SJung-uk Kim AcpiPurgeCachedObjects (
169a9f12690SJung-uk Kim     void);
170a9f12690SJung-uk Kim 
171709fac06SJung-uk Kim ACPI_STATUS
172709fac06SJung-uk Kim AcpiInstallInterface (
173709fac06SJung-uk Kim     ACPI_STRING             InterfaceName);
174709fac06SJung-uk Kim 
175709fac06SJung-uk Kim ACPI_STATUS
176709fac06SJung-uk Kim AcpiRemoveInterface (
177709fac06SJung-uk Kim     ACPI_STRING             InterfaceName);
178a9f12690SJung-uk Kim 
179ec3fc72fSJung-uk Kim UINT32
180ec3fc72fSJung-uk Kim AcpiCheckAddressRange (
181ec3fc72fSJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
182ec3fc72fSJung-uk Kim     ACPI_PHYSICAL_ADDRESS   Address,
183ec3fc72fSJung-uk Kim     ACPI_SIZE               Length,
184ec3fc72fSJung-uk Kim     BOOLEAN                 Warn);
185ec3fc72fSJung-uk Kim 
1861df130f1SJung-uk Kim ACPI_STATUS
1871df130f1SJung-uk Kim AcpiDecodePldBuffer (
1881df130f1SJung-uk Kim     UINT8                   *InBuffer,
1891df130f1SJung-uk Kim     ACPI_SIZE               Length,
1901df130f1SJung-uk Kim     ACPI_PLD_INFO           **ReturnBuffer);
1915a77b11bSJung-uk Kim 
192a9f12690SJung-uk Kim /*
193709fac06SJung-uk Kim  * ACPI Memory management
194a9f12690SJung-uk Kim  */
195a9f12690SJung-uk Kim void *
196a9f12690SJung-uk Kim AcpiAllocate (
197a9f12690SJung-uk Kim     UINT32                  Size);
198a9f12690SJung-uk Kim 
199a9f12690SJung-uk Kim void *
200a9f12690SJung-uk Kim AcpiCallocate (
201a9f12690SJung-uk Kim     UINT32                  Size);
202a9f12690SJung-uk Kim 
203a9f12690SJung-uk Kim void
204a9f12690SJung-uk Kim AcpiFree (
205a9f12690SJung-uk Kim     void                    *Address);
206a9f12690SJung-uk Kim 
207a9f12690SJung-uk Kim 
208a9f12690SJung-uk Kim /*
209e8241eabSJung-uk Kim  * ACPI table load/unload interfaces
210e8241eabSJung-uk Kim  */
211e8241eabSJung-uk Kim ACPI_STATUS
212e8241eabSJung-uk Kim AcpiLoadTable (
213e8241eabSJung-uk Kim     ACPI_TABLE_HEADER       *Table);
214e8241eabSJung-uk Kim 
215e8241eabSJung-uk Kim ACPI_STATUS
216e8241eabSJung-uk Kim AcpiUnloadParentTable (
217e8241eabSJung-uk Kim     ACPI_HANDLE             Object);
218e8241eabSJung-uk Kim 
219e8241eabSJung-uk Kim ACPI_STATUS
220e8241eabSJung-uk Kim AcpiLoadTables (
221e8241eabSJung-uk Kim     void);
222e8241eabSJung-uk Kim 
223e8241eabSJung-uk Kim 
224e8241eabSJung-uk Kim /*
225a9f12690SJung-uk Kim  * ACPI table manipulation interfaces
226a9f12690SJung-uk Kim  */
227a9f12690SJung-uk Kim ACPI_STATUS
228a9f12690SJung-uk Kim AcpiReallocateRootTable (
229a9f12690SJung-uk Kim     void);
230a9f12690SJung-uk Kim 
231a9f12690SJung-uk Kim ACPI_STATUS
232a9f12690SJung-uk Kim AcpiFindRootPointer (
233a9f12690SJung-uk Kim     ACPI_SIZE               *RsdpAddress);
234a9f12690SJung-uk Kim 
235a9f12690SJung-uk Kim ACPI_STATUS
236a9f12690SJung-uk Kim AcpiGetTableHeader (
237a9f12690SJung-uk Kim     ACPI_STRING             Signature,
238a9f12690SJung-uk Kim     UINT32                  Instance,
239a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       *OutTableHeader);
240a9f12690SJung-uk Kim 
241a9f12690SJung-uk Kim ACPI_STATUS
242a9f12690SJung-uk Kim AcpiGetTable (
243a9f12690SJung-uk Kim     ACPI_STRING             Signature,
244a9f12690SJung-uk Kim     UINT32                  Instance,
245a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       **OutTable);
246a9f12690SJung-uk Kim 
247a9f12690SJung-uk Kim ACPI_STATUS
248a9f12690SJung-uk Kim AcpiGetTableByIndex (
249a9f12690SJung-uk Kim     UINT32                  TableIndex,
250a9f12690SJung-uk Kim     ACPI_TABLE_HEADER       **OutTable);
251a9f12690SJung-uk Kim 
252a9f12690SJung-uk Kim ACPI_STATUS
253a9f12690SJung-uk Kim AcpiInstallTableHandler (
254a9f12690SJung-uk Kim     ACPI_TABLE_HANDLER      Handler,
255a9f12690SJung-uk Kim     void                    *Context);
256a9f12690SJung-uk Kim 
257a9f12690SJung-uk Kim ACPI_STATUS
258a9f12690SJung-uk Kim AcpiRemoveTableHandler (
259a9f12690SJung-uk Kim     ACPI_TABLE_HANDLER      Handler);
260a9f12690SJung-uk Kim 
261a9f12690SJung-uk Kim 
262a9f12690SJung-uk Kim /*
263a9f12690SJung-uk Kim  * Namespace and name interfaces
264a9f12690SJung-uk Kim  */
265a9f12690SJung-uk Kim ACPI_STATUS
266a9f12690SJung-uk Kim AcpiWalkNamespace (
267a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        Type,
268a9f12690SJung-uk Kim     ACPI_HANDLE             StartObject,
269a9f12690SJung-uk Kim     UINT32                  MaxDepth,
2702272d050SJung-uk Kim     ACPI_WALK_CALLBACK      PreOrderVisit,
2712272d050SJung-uk Kim     ACPI_WALK_CALLBACK      PostOrderVisit,
272a9f12690SJung-uk Kim     void                    *Context,
273a9f12690SJung-uk Kim     void                    **ReturnValue);
274a9f12690SJung-uk Kim 
275a9f12690SJung-uk Kim ACPI_STATUS
276a9f12690SJung-uk Kim AcpiGetDevices (
277a9f12690SJung-uk Kim     char                    *HID,
278a9f12690SJung-uk Kim     ACPI_WALK_CALLBACK      UserFunction,
279a9f12690SJung-uk Kim     void                    *Context,
280a9f12690SJung-uk Kim     void                    **ReturnValue);
281a9f12690SJung-uk Kim 
282a9f12690SJung-uk Kim ACPI_STATUS
283a9f12690SJung-uk Kim AcpiGetName (
2843f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
285a9f12690SJung-uk Kim     UINT32                  NameType,
286a9f12690SJung-uk Kim     ACPI_BUFFER             *RetPathPtr);
287a9f12690SJung-uk Kim 
288a9f12690SJung-uk Kim ACPI_STATUS
289a9f12690SJung-uk Kim AcpiGetHandle (
290a9f12690SJung-uk Kim     ACPI_HANDLE             Parent,
291a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
292a9f12690SJung-uk Kim     ACPI_HANDLE             *RetHandle);
293a9f12690SJung-uk Kim 
294a9f12690SJung-uk Kim ACPI_STATUS
295a9f12690SJung-uk Kim AcpiAttachData (
2963f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
297a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler,
298a9f12690SJung-uk Kim     void                    *Data);
299a9f12690SJung-uk Kim 
300a9f12690SJung-uk Kim ACPI_STATUS
301a9f12690SJung-uk Kim AcpiDetachData (
3023f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
303a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler);
304a9f12690SJung-uk Kim 
305a9f12690SJung-uk Kim ACPI_STATUS
306a9f12690SJung-uk Kim AcpiGetData (
3073f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
308a9f12690SJung-uk Kim     ACPI_OBJECT_HANDLER     Handler,
309a9f12690SJung-uk Kim     void                    **Data);
310a9f12690SJung-uk Kim 
311a9f12690SJung-uk Kim ACPI_STATUS
312a9f12690SJung-uk Kim AcpiDebugTrace (
313a9f12690SJung-uk Kim     char                    *Name,
314a9f12690SJung-uk Kim     UINT32                  DebugLevel,
315a9f12690SJung-uk Kim     UINT32                  DebugLayer,
316a9f12690SJung-uk Kim     UINT32                  Flags);
317a9f12690SJung-uk Kim 
318a9f12690SJung-uk Kim 
319a9f12690SJung-uk Kim /*
320a9f12690SJung-uk Kim  * Object manipulation and enumeration
321a9f12690SJung-uk Kim  */
322a9f12690SJung-uk Kim ACPI_STATUS
323a9f12690SJung-uk Kim AcpiEvaluateObject (
324a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
325a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
326a9f12690SJung-uk Kim     ACPI_OBJECT_LIST        *ParameterObjects,
327a9f12690SJung-uk Kim     ACPI_BUFFER             *ReturnObjectBuffer);
328a9f12690SJung-uk Kim 
329a9f12690SJung-uk Kim ACPI_STATUS
330a9f12690SJung-uk Kim AcpiEvaluateObjectTyped (
331a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
332a9f12690SJung-uk Kim     ACPI_STRING             Pathname,
333a9f12690SJung-uk Kim     ACPI_OBJECT_LIST        *ExternalParams,
334a9f12690SJung-uk Kim     ACPI_BUFFER             *ReturnBuffer,
335a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        ReturnType);
336a9f12690SJung-uk Kim 
337a9f12690SJung-uk Kim ACPI_STATUS
338a9f12690SJung-uk Kim AcpiGetObjectInfo (
3393f5e024cSJung-uk Kim     ACPI_HANDLE             Object,
340d6dd1baeSJung-uk Kim     ACPI_DEVICE_INFO        **ReturnBuffer);
341a9f12690SJung-uk Kim 
342a9f12690SJung-uk Kim ACPI_STATUS
343a9f12690SJung-uk Kim AcpiInstallMethod (
344a9f12690SJung-uk Kim     UINT8                   *Buffer);
345a9f12690SJung-uk Kim 
346a9f12690SJung-uk Kim ACPI_STATUS
347a9f12690SJung-uk Kim AcpiGetNextObject (
348a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        Type,
349a9f12690SJung-uk Kim     ACPI_HANDLE             Parent,
350a9f12690SJung-uk Kim     ACPI_HANDLE             Child,
351a9f12690SJung-uk Kim     ACPI_HANDLE             *OutHandle);
352a9f12690SJung-uk Kim 
353a9f12690SJung-uk Kim ACPI_STATUS
354a9f12690SJung-uk Kim AcpiGetType (
355a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
356a9f12690SJung-uk Kim     ACPI_OBJECT_TYPE        *OutType);
357a9f12690SJung-uk Kim 
358a9f12690SJung-uk Kim ACPI_STATUS
359a9f12690SJung-uk Kim AcpiGetParent (
360a9f12690SJung-uk Kim     ACPI_HANDLE             Object,
361a9f12690SJung-uk Kim     ACPI_HANDLE             *OutHandle);
362a9f12690SJung-uk Kim 
363a9f12690SJung-uk Kim 
364a9f12690SJung-uk Kim /*
365a9f12690SJung-uk Kim  * Handler interfaces
366a9f12690SJung-uk Kim  */
367a9f12690SJung-uk Kim ACPI_STATUS
368a9f12690SJung-uk Kim AcpiInstallInitializationHandler (
369a9f12690SJung-uk Kim     ACPI_INIT_HANDLER       Handler,
370a9f12690SJung-uk Kim     UINT32                  Function);
371a9f12690SJung-uk Kim 
372a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
373a9f12690SJung-uk Kim ACPI_STATUS
3745a77b11bSJung-uk Kim AcpiInstallGlobalEventHandler (
3755a77b11bSJung-uk Kim     ACPI_GBL_EVENT_HANDLER  Handler,
376a159c266SJung-uk Kim     void                    *Context))
3775a77b11bSJung-uk Kim 
378a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
3795a77b11bSJung-uk Kim ACPI_STATUS
380a9f12690SJung-uk Kim AcpiInstallFixedEventHandler (
381a9f12690SJung-uk Kim     UINT32                  AcpiEvent,
382a9f12690SJung-uk Kim     ACPI_EVENT_HANDLER      Handler,
383a159c266SJung-uk Kim     void                    *Context))
384a9f12690SJung-uk Kim 
385a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
386a9f12690SJung-uk Kim ACPI_STATUS
387a9f12690SJung-uk Kim AcpiRemoveFixedEventHandler (
388a9f12690SJung-uk Kim     UINT32                  AcpiEvent,
389a159c266SJung-uk Kim     ACPI_EVENT_HANDLER      Handler))
390a9f12690SJung-uk Kim 
391a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
392a9f12690SJung-uk Kim ACPI_STATUS
3935a77b11bSJung-uk Kim AcpiInstallGpeHandler (
3945a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
3955a77b11bSJung-uk Kim     UINT32                  GpeNumber,
3965a77b11bSJung-uk Kim     UINT32                  Type,
3975a77b11bSJung-uk Kim     ACPI_GPE_HANDLER        Address,
398a159c266SJung-uk Kim     void                    *Context))
3995a77b11bSJung-uk Kim 
400a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
4015a77b11bSJung-uk Kim ACPI_STATUS
4025a77b11bSJung-uk Kim AcpiRemoveGpeHandler (
4035a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
4045a77b11bSJung-uk Kim     UINT32                  GpeNumber,
405a159c266SJung-uk Kim     ACPI_GPE_HANDLER        Address))
4065a77b11bSJung-uk Kim 
4075a77b11bSJung-uk Kim ACPI_STATUS
408a9f12690SJung-uk Kim AcpiInstallNotifyHandler (
409a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
410a9f12690SJung-uk Kim     UINT32                  HandlerType,
411a9f12690SJung-uk Kim     ACPI_NOTIFY_HANDLER     Handler,
412a9f12690SJung-uk Kim     void                    *Context);
413a9f12690SJung-uk Kim 
414a9f12690SJung-uk Kim ACPI_STATUS
415a9f12690SJung-uk Kim AcpiRemoveNotifyHandler (
416a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
417a9f12690SJung-uk Kim     UINT32                  HandlerType,
418a9f12690SJung-uk Kim     ACPI_NOTIFY_HANDLER     Handler);
419a9f12690SJung-uk Kim 
420a9f12690SJung-uk Kim ACPI_STATUS
421a9f12690SJung-uk Kim AcpiInstallAddressSpaceHandler (
422a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
423a9f12690SJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
424a9f12690SJung-uk Kim     ACPI_ADR_SPACE_HANDLER  Handler,
425a9f12690SJung-uk Kim     ACPI_ADR_SPACE_SETUP    Setup,
426a9f12690SJung-uk Kim     void                    *Context);
427a9f12690SJung-uk Kim 
428a9f12690SJung-uk Kim ACPI_STATUS
429a9f12690SJung-uk Kim AcpiRemoveAddressSpaceHandler (
430a9f12690SJung-uk Kim     ACPI_HANDLE             Device,
431a9f12690SJung-uk Kim     ACPI_ADR_SPACE_TYPE     SpaceId,
432a9f12690SJung-uk Kim     ACPI_ADR_SPACE_HANDLER  Handler);
433a9f12690SJung-uk Kim 
434a9f12690SJung-uk Kim ACPI_STATUS
435a9f12690SJung-uk Kim AcpiInstallExceptionHandler (
436a9f12690SJung-uk Kim     ACPI_EXCEPTION_HANDLER  Handler);
437a9f12690SJung-uk Kim 
438709fac06SJung-uk Kim ACPI_STATUS
439709fac06SJung-uk Kim AcpiInstallInterfaceHandler (
440709fac06SJung-uk Kim     ACPI_INTERFACE_HANDLER  Handler);
441709fac06SJung-uk Kim 
442a9f12690SJung-uk Kim 
443a9f12690SJung-uk Kim /*
4445a77b11bSJung-uk Kim  * Global Lock interfaces
445a9f12690SJung-uk Kim  */
446a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
447a9f12690SJung-uk Kim ACPI_STATUS
448a9f12690SJung-uk Kim AcpiAcquireGlobalLock (
449a9f12690SJung-uk Kim     UINT16                  Timeout,
450a159c266SJung-uk Kim     UINT32                  *Handle))
451a9f12690SJung-uk Kim 
452a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
453a9f12690SJung-uk Kim ACPI_STATUS
454a9f12690SJung-uk Kim AcpiReleaseGlobalLock (
455a159c266SJung-uk Kim     UINT32                  Handle))
456a9f12690SJung-uk Kim 
4575a77b11bSJung-uk Kim 
4585a77b11bSJung-uk Kim /*
4593f0275a0SJung-uk Kim  * Interfaces to AML mutex objects
4603f0275a0SJung-uk Kim  */
4613f0275a0SJung-uk Kim ACPI_STATUS
4623f0275a0SJung-uk Kim AcpiAcquireMutex (
4633f0275a0SJung-uk Kim     ACPI_HANDLE             Handle,
4643f0275a0SJung-uk Kim     ACPI_STRING             Pathname,
4653f0275a0SJung-uk Kim     UINT16                  Timeout);
4663f0275a0SJung-uk Kim 
4673f0275a0SJung-uk Kim ACPI_STATUS
4683f0275a0SJung-uk Kim AcpiReleaseMutex (
4693f0275a0SJung-uk Kim     ACPI_HANDLE             Handle,
4703f0275a0SJung-uk Kim     ACPI_STRING             Pathname);
4713f0275a0SJung-uk Kim 
4723f0275a0SJung-uk Kim 
4733f0275a0SJung-uk Kim /*
4745a77b11bSJung-uk Kim  * Fixed Event interfaces
4755a77b11bSJung-uk Kim  */
476a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
477a9f12690SJung-uk Kim ACPI_STATUS
478a9f12690SJung-uk Kim AcpiEnableEvent (
479a9f12690SJung-uk Kim     UINT32                  Event,
480a159c266SJung-uk Kim     UINT32                  Flags))
481a9f12690SJung-uk Kim 
482a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
483a9f12690SJung-uk Kim ACPI_STATUS
484a9f12690SJung-uk Kim AcpiDisableEvent (
485a9f12690SJung-uk Kim     UINT32                  Event,
486a159c266SJung-uk Kim     UINT32                  Flags))
487a9f12690SJung-uk Kim 
488a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
489a9f12690SJung-uk Kim ACPI_STATUS
490a9f12690SJung-uk Kim AcpiClearEvent (
491a159c266SJung-uk Kim     UINT32                  Event))
492a9f12690SJung-uk Kim 
493a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
494a9f12690SJung-uk Kim ACPI_STATUS
495a9f12690SJung-uk Kim AcpiGetEventStatus (
496a9f12690SJung-uk Kim     UINT32                  Event,
497a159c266SJung-uk Kim     ACPI_EVENT_STATUS       *EventStatus))
498a9f12690SJung-uk Kim 
499a9f12690SJung-uk Kim 
500a9f12690SJung-uk Kim /*
5015a77b11bSJung-uk Kim  * General Purpose Event (GPE) Interfaces
502a9f12690SJung-uk Kim  */
503a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
504a9f12690SJung-uk Kim ACPI_STATUS
5055a77b11bSJung-uk Kim AcpiUpdateAllGpes (
506a159c266SJung-uk Kim     void))
507a9f12690SJung-uk Kim 
508a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
509a9f12690SJung-uk Kim ACPI_STATUS
510a9f12690SJung-uk Kim AcpiEnableGpe (
511a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
512a159c266SJung-uk Kim     UINT32                  GpeNumber))
513a9f12690SJung-uk Kim 
514a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
515a9f12690SJung-uk Kim ACPI_STATUS
516a9f12690SJung-uk Kim AcpiDisableGpe (
517a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
518a159c266SJung-uk Kim     UINT32                  GpeNumber))
519a9f12690SJung-uk Kim 
520a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
521a9f12690SJung-uk Kim ACPI_STATUS
522a9f12690SJung-uk Kim AcpiClearGpe (
523a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
524a159c266SJung-uk Kim     UINT32                  GpeNumber))
525a9f12690SJung-uk Kim 
526a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
527a9f12690SJung-uk Kim ACPI_STATUS
5285a77b11bSJung-uk Kim AcpiSetGpe (
5295a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
5305a77b11bSJung-uk Kim     UINT32                  GpeNumber,
531a159c266SJung-uk Kim     UINT8                   Action))
5325a77b11bSJung-uk Kim 
533a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
5345a77b11bSJung-uk Kim ACPI_STATUS
5355a77b11bSJung-uk Kim AcpiFinishGpe (
5365a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
537a159c266SJung-uk Kim     UINT32                  GpeNumber))
5385a77b11bSJung-uk Kim 
539a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
5405a77b11bSJung-uk Kim ACPI_STATUS
5415a77b11bSJung-uk Kim AcpiSetupGpeForWake (
5425a77b11bSJung-uk Kim     ACPI_HANDLE             ParentDevice,
5435a77b11bSJung-uk Kim     ACPI_HANDLE             GpeDevice,
544a159c266SJung-uk Kim     UINT32                  GpeNumber))
5455a77b11bSJung-uk Kim 
546a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
5475a77b11bSJung-uk Kim ACPI_STATUS
5485a77b11bSJung-uk Kim AcpiSetGpeWakeMask (
549a88e22b7SJung-uk Kim     ACPI_HANDLE             GpeDevice,
550a88e22b7SJung-uk Kim     UINT32                  GpeNumber,
551a159c266SJung-uk Kim     UINT8                   Action))
552a88e22b7SJung-uk Kim 
553a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
554a88e22b7SJung-uk Kim ACPI_STATUS
555a9f12690SJung-uk Kim AcpiGetGpeStatus (
556a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
557a9f12690SJung-uk Kim     UINT32                  GpeNumber,
558a159c266SJung-uk Kim     ACPI_EVENT_STATUS       *EventStatus))
559a9f12690SJung-uk Kim 
560a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
561a9f12690SJung-uk Kim ACPI_STATUS
562a9f12690SJung-uk Kim AcpiDisableAllGpes (
563a159c266SJung-uk Kim     void))
564a9f12690SJung-uk Kim 
565a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
566a9f12690SJung-uk Kim ACPI_STATUS
567a9f12690SJung-uk Kim AcpiEnableAllRuntimeGpes (
568a159c266SJung-uk Kim     void))
569a9f12690SJung-uk Kim 
570a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
571a9f12690SJung-uk Kim ACPI_STATUS
572a9f12690SJung-uk Kim AcpiGetGpeDevice (
573a9f12690SJung-uk Kim     UINT32                  GpeIndex,
574a159c266SJung-uk Kim     ACPI_HANDLE             *GpeDevice))
575a9f12690SJung-uk Kim 
576a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
577a9f12690SJung-uk Kim ACPI_STATUS
578a9f12690SJung-uk Kim AcpiInstallGpeBlock (
579a9f12690SJung-uk Kim     ACPI_HANDLE             GpeDevice,
580a9f12690SJung-uk Kim     ACPI_GENERIC_ADDRESS    *GpeBlockAddress,
581a9f12690SJung-uk Kim     UINT32                  RegisterCount,
582a159c266SJung-uk Kim     UINT32                  InterruptNumber))
583a9f12690SJung-uk Kim 
584a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
585a9f12690SJung-uk Kim ACPI_STATUS
586a9f12690SJung-uk Kim AcpiRemoveGpeBlock (
587a159c266SJung-uk Kim     ACPI_HANDLE             GpeDevice))
588a9f12690SJung-uk Kim 
589a9f12690SJung-uk Kim 
590a9f12690SJung-uk Kim /*
591a9f12690SJung-uk Kim  * Resource interfaces
592a9f12690SJung-uk Kim  */
593a9f12690SJung-uk Kim typedef
594a9f12690SJung-uk Kim ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) (
595a9f12690SJung-uk Kim     ACPI_RESOURCE           *Resource,
596a9f12690SJung-uk Kim     void                    *Context);
597a9f12690SJung-uk Kim 
598a9f12690SJung-uk Kim ACPI_STATUS
599a9f12690SJung-uk Kim AcpiGetVendorResource (
6003f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
601a9f12690SJung-uk Kim     char                    *Name,
602a9f12690SJung-uk Kim     ACPI_VENDOR_UUID        *Uuid,
603a9f12690SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
604a9f12690SJung-uk Kim 
605a9f12690SJung-uk Kim ACPI_STATUS
606a9f12690SJung-uk Kim AcpiGetCurrentResources (
6073f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
608a9f12690SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
609a9f12690SJung-uk Kim 
610a9f12690SJung-uk Kim ACPI_STATUS
611a9f12690SJung-uk Kim AcpiGetPossibleResources (
6123f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
613a9f12690SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
614a9f12690SJung-uk Kim 
615a9f12690SJung-uk Kim ACPI_STATUS
6163f0275a0SJung-uk Kim AcpiGetEventResources (
6173f0275a0SJung-uk Kim     ACPI_HANDLE             DeviceHandle,
6183f0275a0SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
6193f0275a0SJung-uk Kim 
6203f0275a0SJung-uk Kim ACPI_STATUS
621*efcc2a30SJung-uk Kim AcpiWalkResourceBuffer (
622*efcc2a30SJung-uk Kim     ACPI_BUFFER                 *Buffer,
623*efcc2a30SJung-uk Kim     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
624*efcc2a30SJung-uk Kim     void                        *Context);
625*efcc2a30SJung-uk Kim 
626*efcc2a30SJung-uk Kim ACPI_STATUS
627a9f12690SJung-uk Kim AcpiWalkResources (
6283f5e024cSJung-uk Kim     ACPI_HANDLE                 Device,
629a9f12690SJung-uk Kim     char                        *Name,
630a9f12690SJung-uk Kim     ACPI_WALK_RESOURCE_CALLBACK UserFunction,
631a9f12690SJung-uk Kim     void                        *Context);
632a9f12690SJung-uk Kim 
633a9f12690SJung-uk Kim ACPI_STATUS
634a9f12690SJung-uk Kim AcpiSetCurrentResources (
6353f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
636a9f12690SJung-uk Kim     ACPI_BUFFER             *InBuffer);
637a9f12690SJung-uk Kim 
638a9f12690SJung-uk Kim ACPI_STATUS
639a9f12690SJung-uk Kim AcpiGetIrqRoutingTable (
6403f5e024cSJung-uk Kim     ACPI_HANDLE             Device,
641a9f12690SJung-uk Kim     ACPI_BUFFER             *RetBuffer);
642a9f12690SJung-uk Kim 
643a9f12690SJung-uk Kim ACPI_STATUS
644a9f12690SJung-uk Kim AcpiResourceToAddress64 (
645a9f12690SJung-uk Kim     ACPI_RESOURCE           *Resource,
646a9f12690SJung-uk Kim     ACPI_RESOURCE_ADDRESS64 *Out);
647a9f12690SJung-uk Kim 
6483f0275a0SJung-uk Kim ACPI_STATUS
6493f0275a0SJung-uk Kim AcpiBufferToResource (
6503f0275a0SJung-uk Kim     UINT8                   *AmlBuffer,
6513f0275a0SJung-uk Kim     UINT16                  AmlBufferLength,
6523f0275a0SJung-uk Kim     ACPI_RESOURCE           **ResourcePtr);
6533f0275a0SJung-uk Kim 
654a9f12690SJung-uk Kim 
655a9f12690SJung-uk Kim /*
656a9f12690SJung-uk Kim  * Hardware (ACPI device) interfaces
657a9f12690SJung-uk Kim  */
658a9f12690SJung-uk Kim ACPI_STATUS
659a9f12690SJung-uk Kim AcpiReset (
660a9f12690SJung-uk Kim     void);
661a9f12690SJung-uk Kim 
662a9f12690SJung-uk Kim ACPI_STATUS
663a9f12690SJung-uk Kim AcpiRead (
664d6dd1baeSJung-uk Kim     UINT64                  *Value,
665a9f12690SJung-uk Kim     ACPI_GENERIC_ADDRESS    *Reg);
666a9f12690SJung-uk Kim 
667a9f12690SJung-uk Kim ACPI_STATUS
668a9f12690SJung-uk Kim AcpiWrite (
669d6dd1baeSJung-uk Kim     UINT64                  Value,
670a9f12690SJung-uk Kim     ACPI_GENERIC_ADDRESS    *Reg);
671a9f12690SJung-uk Kim 
672a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
673a9f12690SJung-uk Kim ACPI_STATUS
674a9f12690SJung-uk Kim AcpiReadBitRegister (
675a9f12690SJung-uk Kim     UINT32                  RegisterId,
676a159c266SJung-uk Kim     UINT32                  *ReturnValue))
677a9f12690SJung-uk Kim 
678a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
679a9f12690SJung-uk Kim ACPI_STATUS
680a9f12690SJung-uk Kim AcpiWriteBitRegister (
681a9f12690SJung-uk Kim     UINT32                  RegisterId,
682a159c266SJung-uk Kim     UINT32                  Value))
683a9f12690SJung-uk Kim 
684a159c266SJung-uk Kim 
685a159c266SJung-uk Kim /*
686a159c266SJung-uk Kim  * Sleep/Wake interfaces
687a159c266SJung-uk Kim  */
688a9f12690SJung-uk Kim ACPI_STATUS
689a9f12690SJung-uk Kim AcpiGetSleepTypeData (
690a9f12690SJung-uk Kim     UINT8                   SleepState,
691a9f12690SJung-uk Kim     UINT8                   *Slp_TypA,
692a9f12690SJung-uk Kim     UINT8                   *Slp_TypB);
693a9f12690SJung-uk Kim 
694a9f12690SJung-uk Kim ACPI_STATUS
695a9f12690SJung-uk Kim AcpiEnterSleepStatePrep (
696a9f12690SJung-uk Kim     UINT8                   SleepState);
697a9f12690SJung-uk Kim 
698a9f12690SJung-uk Kim ACPI_STATUS
699a9f12690SJung-uk Kim AcpiEnterSleepState (
7001df130f1SJung-uk Kim     UINT8                   SleepState);
701a9f12690SJung-uk Kim 
702a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
703a9f12690SJung-uk Kim ACPI_STATUS
704a9f12690SJung-uk Kim AcpiEnterSleepStateS4bios (
705a159c266SJung-uk Kim     void))
706a159c266SJung-uk Kim 
707a159c266SJung-uk Kim ACPI_STATUS
708a159c266SJung-uk Kim AcpiLeaveSleepStatePrep (
7091df130f1SJung-uk Kim     UINT8                   SleepState);
710a9f12690SJung-uk Kim 
711a9f12690SJung-uk Kim ACPI_STATUS
712a9f12690SJung-uk Kim AcpiLeaveSleepState (
713a159c266SJung-uk Kim     UINT8                   SleepState);
714a159c266SJung-uk Kim 
715a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
716a9f12690SJung-uk Kim ACPI_STATUS
717a9f12690SJung-uk Kim AcpiSetFirmwareWakingVector (
718a159c266SJung-uk Kim     UINT32                  PhysicalAddress))
719a9f12690SJung-uk Kim 
720a9f12690SJung-uk Kim #if ACPI_MACHINE_WIDTH == 64
721a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
722a9f12690SJung-uk Kim ACPI_STATUS
723a9f12690SJung-uk Kim AcpiSetFirmwareWakingVector64 (
724a159c266SJung-uk Kim     UINT64                  PhysicalAddress))
725a9f12690SJung-uk Kim #endif
726a9f12690SJung-uk Kim 
727a9f12690SJung-uk Kim 
728a9f12690SJung-uk Kim /*
729a159c266SJung-uk Kim  * ACPI Timer interfaces
730a159c266SJung-uk Kim  */
731a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
732a159c266SJung-uk Kim ACPI_STATUS
733a159c266SJung-uk Kim AcpiGetTimerResolution (
734a159c266SJung-uk Kim     UINT32                  *Resolution))
735a159c266SJung-uk Kim 
736a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
737a159c266SJung-uk Kim ACPI_STATUS
738a159c266SJung-uk Kim AcpiGetTimer (
739a159c266SJung-uk Kim     UINT32                  *Ticks))
740a159c266SJung-uk Kim 
741a159c266SJung-uk Kim ACPI_HW_DEPENDENT_RETURN_STATUS (
742a159c266SJung-uk Kim ACPI_STATUS
743a159c266SJung-uk Kim AcpiGetTimerDuration (
744a159c266SJung-uk Kim     UINT32                  StartTicks,
745a159c266SJung-uk Kim     UINT32                  EndTicks,
746a159c266SJung-uk Kim     UINT32                  *TimeElapsed))
747a159c266SJung-uk Kim 
748a159c266SJung-uk Kim 
749a159c266SJung-uk Kim /*
750a9f12690SJung-uk Kim  * Error/Warning output
751a9f12690SJung-uk Kim  */
752a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
753a9f12690SJung-uk Kim AcpiError (
754a9f12690SJung-uk Kim     const char              *ModuleName,
755a9f12690SJung-uk Kim     UINT32                  LineNumber,
756a9f12690SJung-uk Kim     const char              *Format,
757a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(3);
758a9f12690SJung-uk Kim 
759a9f12690SJung-uk Kim void  ACPI_INTERNAL_VAR_XFACE
760a9f12690SJung-uk Kim AcpiException (
761a9f12690SJung-uk Kim     const char              *ModuleName,
762a9f12690SJung-uk Kim     UINT32                  LineNumber,
763a9f12690SJung-uk Kim     ACPI_STATUS             Status,
764a9f12690SJung-uk Kim     const char              *Format,
765a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(4);
766a9f12690SJung-uk Kim 
767a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
768a9f12690SJung-uk Kim AcpiWarning (
769a9f12690SJung-uk Kim     const char              *ModuleName,
770a9f12690SJung-uk Kim     UINT32                  LineNumber,
771a9f12690SJung-uk Kim     const char              *Format,
772a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(3);
773a9f12690SJung-uk Kim 
774a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
775a9f12690SJung-uk Kim AcpiInfo (
776a9f12690SJung-uk Kim     const char              *ModuleName,
777a9f12690SJung-uk Kim     UINT32                  LineNumber,
778a9f12690SJung-uk Kim     const char              *Format,
779a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(3);
780a9f12690SJung-uk Kim 
781e8241eabSJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
782e8241eabSJung-uk Kim AcpiBiosError (
783e8241eabSJung-uk Kim     const char              *ModuleName,
784e8241eabSJung-uk Kim     UINT32                  LineNumber,
785e8241eabSJung-uk Kim     const char              *Format,
786e8241eabSJung-uk Kim     ...) ACPI_PRINTF_LIKE(3);
787e8241eabSJung-uk Kim 
788e8241eabSJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
789e8241eabSJung-uk Kim AcpiBiosWarning (
790e8241eabSJung-uk Kim     const char              *ModuleName,
791e8241eabSJung-uk Kim     UINT32                  LineNumber,
792e8241eabSJung-uk Kim     const char              *Format,
793e8241eabSJung-uk Kim     ...) ACPI_PRINTF_LIKE(3);
794e8241eabSJung-uk Kim 
795a9f12690SJung-uk Kim 
796a9f12690SJung-uk Kim /*
797a9f12690SJung-uk Kim  * Debug output
798a9f12690SJung-uk Kim  */
799a9f12690SJung-uk Kim #ifdef ACPI_DEBUG_OUTPUT
800a9f12690SJung-uk Kim 
801a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
802a9f12690SJung-uk Kim AcpiDebugPrint (
803a9f12690SJung-uk Kim     UINT32                  RequestedDebugLevel,
804a9f12690SJung-uk Kim     UINT32                  LineNumber,
805a9f12690SJung-uk Kim     const char              *FunctionName,
806a9f12690SJung-uk Kim     const char              *ModuleName,
807a9f12690SJung-uk Kim     UINT32                  ComponentId,
808a9f12690SJung-uk Kim     const char              *Format,
809a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(6);
810a9f12690SJung-uk Kim 
811a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE
812a9f12690SJung-uk Kim AcpiDebugPrintRaw (
813a9f12690SJung-uk Kim     UINT32                  RequestedDebugLevel,
814a9f12690SJung-uk Kim     UINT32                  LineNumber,
815a9f12690SJung-uk Kim     const char              *FunctionName,
816a9f12690SJung-uk Kim     const char              *ModuleName,
817a9f12690SJung-uk Kim     UINT32                  ComponentId,
818a9f12690SJung-uk Kim     const char              *Format,
819a9f12690SJung-uk Kim     ...) ACPI_PRINTF_LIKE(6);
820a9f12690SJung-uk Kim #endif
821a9f12690SJung-uk Kim 
822a9f12690SJung-uk Kim #endif /* __ACXFACE_H__ */
823