1a9f12690SJung-uk Kim 2a9f12690SJung-uk Kim /****************************************************************************** 3a9f12690SJung-uk Kim * 4a9f12690SJung-uk Kim * Name: acpixf.h - External interfaces to the ACPI subsystem 5a9f12690SJung-uk Kim * 6a9f12690SJung-uk Kim *****************************************************************************/ 7a9f12690SJung-uk Kim 8d244b227SJung-uk Kim /* 9d244b227SJung-uk Kim * Copyright (C) 2000 - 2011, Intel Corp. 10a9f12690SJung-uk Kim * All rights reserved. 11a9f12690SJung-uk Kim * 12d244b227SJung-uk Kim * Redistribution and use in source and binary forms, with or without 13d244b227SJung-uk Kim * modification, are permitted provided that the following conditions 14d244b227SJung-uk Kim * are met: 15d244b227SJung-uk Kim * 1. Redistributions of source code must retain the above copyright 16d244b227SJung-uk Kim * notice, this list of conditions, and the following disclaimer, 17d244b227SJung-uk Kim * without modification. 18d244b227SJung-uk Kim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 19d244b227SJung-uk Kim * substantially similar to the "NO WARRANTY" disclaimer below 20d244b227SJung-uk Kim * ("Disclaimer") and any redistribution must be conditioned upon 21d244b227SJung-uk Kim * including a substantially similar Disclaimer requirement for further 22d244b227SJung-uk Kim * binary redistribution. 23d244b227SJung-uk Kim * 3. Neither the names of the above-listed copyright holders nor the names 24d244b227SJung-uk Kim * of any contributors may be used to endorse or promote products derived 25d244b227SJung-uk Kim * from this software without specific prior written permission. 26a9f12690SJung-uk Kim * 27d244b227SJung-uk Kim * Alternatively, this software may be distributed under the terms of the 28d244b227SJung-uk Kim * GNU General Public License ("GPL") version 2 as published by the Free 29d244b227SJung-uk Kim * Software Foundation. 30a9f12690SJung-uk Kim * 31d244b227SJung-uk Kim * NO WARRANTY 32d244b227SJung-uk Kim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 33d244b227SJung-uk Kim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 34d244b227SJung-uk Kim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 35d244b227SJung-uk Kim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 36d244b227SJung-uk Kim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 37d244b227SJung-uk Kim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 38d244b227SJung-uk Kim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 39d244b227SJung-uk Kim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 40d244b227SJung-uk Kim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 41d244b227SJung-uk Kim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 42d244b227SJung-uk Kim * POSSIBILITY OF SUCH DAMAGES. 43d244b227SJung-uk Kim */ 44a9f12690SJung-uk Kim 45a9f12690SJung-uk Kim 46a9f12690SJung-uk Kim #ifndef __ACXFACE_H__ 47a9f12690SJung-uk Kim #define __ACXFACE_H__ 48a9f12690SJung-uk Kim 49a9f12690SJung-uk Kim /* Current ACPICA subsystem version in YYYYMMDD format */ 50a9f12690SJung-uk Kim 51*3f0275a0SJung-uk Kim #define ACPI_CA_VERSION 0x20111123 52a9f12690SJung-uk Kim 53ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/actypes.h> 54ab6f3bf9SJung-uk Kim #include <contrib/dev/acpica/include/actbl.h> 55a9f12690SJung-uk Kim 56a9f12690SJung-uk Kim /* 57a9f12690SJung-uk Kim * Globals that are publically available 58a9f12690SJung-uk Kim */ 59a9f12690SJung-uk Kim extern UINT32 AcpiCurrentGpeCount; 60a9f12690SJung-uk Kim extern ACPI_TABLE_FADT AcpiGbl_FADT; 6142fecd12SJung-uk Kim extern BOOLEAN AcpiGbl_SystemAwakeAndRunning; 62*3f0275a0SJung-uk Kim extern BOOLEAN AcpiGbl_ReducedHardware; /* ACPI 5.0 */ 63a9f12690SJung-uk Kim 64a9f12690SJung-uk Kim /* Runtime configuration of debug print levels */ 65a9f12690SJung-uk Kim 66a9f12690SJung-uk Kim extern UINT32 AcpiDbgLevel; 67a9f12690SJung-uk Kim extern UINT32 AcpiDbgLayer; 68a9f12690SJung-uk Kim 69a9f12690SJung-uk Kim /* ACPICA runtime options */ 70a9f12690SJung-uk Kim 71a9f12690SJung-uk Kim extern UINT8 AcpiGbl_EnableInterpreterSlack; 72a9f12690SJung-uk Kim extern UINT8 AcpiGbl_AllMethodsSerialized; 73a9f12690SJung-uk Kim extern UINT8 AcpiGbl_CreateOsiMethod; 74a9f12690SJung-uk Kim extern UINT8 AcpiGbl_UseDefaultRegisterWidths; 75a9f12690SJung-uk Kim extern ACPI_NAME AcpiGbl_TraceMethodName; 76a9f12690SJung-uk Kim extern UINT32 AcpiGbl_TraceFlags; 77ca3cf4faSJung-uk Kim extern UINT8 AcpiGbl_EnableAmlDebugObject; 788c8be05fSJung-uk Kim extern UINT8 AcpiGbl_CopyDsdtLocally; 79a88e22b7SJung-uk Kim extern UINT8 AcpiGbl_TruncateIoAddresses; 80*3f0275a0SJung-uk Kim extern UINT8 AcpiGbl_DisableAutoRepair; 81a9f12690SJung-uk Kim 82a9f12690SJung-uk Kim 83a9f12690SJung-uk Kim /* 845a77b11bSJung-uk Kim * Initialization 85a9f12690SJung-uk Kim */ 86a9f12690SJung-uk Kim ACPI_STATUS 87a9f12690SJung-uk Kim AcpiInitializeTables ( 88a9f12690SJung-uk Kim ACPI_TABLE_DESC *InitialStorage, 89a9f12690SJung-uk Kim UINT32 InitialTableCount, 90a9f12690SJung-uk Kim BOOLEAN AllowResize); 91a9f12690SJung-uk Kim 92a9f12690SJung-uk Kim ACPI_STATUS 93a9f12690SJung-uk Kim AcpiInitializeSubsystem ( 94a9f12690SJung-uk Kim void); 95a9f12690SJung-uk Kim 96a9f12690SJung-uk Kim ACPI_STATUS 97a9f12690SJung-uk Kim AcpiEnableSubsystem ( 98a9f12690SJung-uk Kim UINT32 Flags); 99a9f12690SJung-uk Kim 100a9f12690SJung-uk Kim ACPI_STATUS 101a9f12690SJung-uk Kim AcpiInitializeObjects ( 102a9f12690SJung-uk Kim UINT32 Flags); 103a9f12690SJung-uk Kim 104a9f12690SJung-uk Kim ACPI_STATUS 105a9f12690SJung-uk Kim AcpiTerminate ( 106a9f12690SJung-uk Kim void); 107a9f12690SJung-uk Kim 108a9f12690SJung-uk Kim 1095a77b11bSJung-uk Kim /* 1105a77b11bSJung-uk Kim * Miscellaneous global interfaces 1115a77b11bSJung-uk Kim */ 112a9f12690SJung-uk Kim ACPI_STATUS 113a9f12690SJung-uk Kim AcpiEnable ( 114a9f12690SJung-uk Kim void); 115a9f12690SJung-uk Kim 116a9f12690SJung-uk Kim ACPI_STATUS 117a9f12690SJung-uk Kim AcpiDisable ( 118a9f12690SJung-uk Kim void); 119a9f12690SJung-uk Kim 120a9f12690SJung-uk Kim ACPI_STATUS 1215a77b11bSJung-uk Kim AcpiSubsystemStatus ( 1225a77b11bSJung-uk Kim void); 1235a77b11bSJung-uk Kim 1245a77b11bSJung-uk Kim ACPI_STATUS 125a9f12690SJung-uk Kim AcpiGetSystemInfo ( 126a9f12690SJung-uk Kim ACPI_BUFFER *RetBuffer); 127a9f12690SJung-uk Kim 128a9f12690SJung-uk Kim ACPI_STATUS 129a9f12690SJung-uk Kim AcpiGetStatistics ( 130a9f12690SJung-uk Kim ACPI_STATISTICS *Stats); 131a9f12690SJung-uk Kim 132a9f12690SJung-uk Kim const char * 133a9f12690SJung-uk Kim AcpiFormatException ( 134a9f12690SJung-uk Kim ACPI_STATUS Exception); 135a9f12690SJung-uk Kim 136a9f12690SJung-uk Kim ACPI_STATUS 137a9f12690SJung-uk Kim AcpiPurgeCachedObjects ( 138a9f12690SJung-uk Kim void); 139a9f12690SJung-uk Kim 140709fac06SJung-uk Kim ACPI_STATUS 141709fac06SJung-uk Kim AcpiInstallInterface ( 142709fac06SJung-uk Kim ACPI_STRING InterfaceName); 143709fac06SJung-uk Kim 144709fac06SJung-uk Kim ACPI_STATUS 145709fac06SJung-uk Kim AcpiRemoveInterface ( 146709fac06SJung-uk Kim ACPI_STRING InterfaceName); 147a9f12690SJung-uk Kim 1485a77b11bSJung-uk Kim 149a9f12690SJung-uk Kim /* 150709fac06SJung-uk Kim * ACPI Memory management 151a9f12690SJung-uk Kim */ 152a9f12690SJung-uk Kim void * 153a9f12690SJung-uk Kim AcpiAllocate ( 154a9f12690SJung-uk Kim UINT32 Size); 155a9f12690SJung-uk Kim 156a9f12690SJung-uk Kim void * 157a9f12690SJung-uk Kim AcpiCallocate ( 158a9f12690SJung-uk Kim UINT32 Size); 159a9f12690SJung-uk Kim 160a9f12690SJung-uk Kim void 161a9f12690SJung-uk Kim AcpiFree ( 162a9f12690SJung-uk Kim void *Address); 163a9f12690SJung-uk Kim 164a9f12690SJung-uk Kim 165a9f12690SJung-uk Kim /* 166a9f12690SJung-uk Kim * ACPI table manipulation interfaces 167a9f12690SJung-uk Kim */ 168a9f12690SJung-uk Kim ACPI_STATUS 169a9f12690SJung-uk Kim AcpiReallocateRootTable ( 170a9f12690SJung-uk Kim void); 171a9f12690SJung-uk Kim 172a9f12690SJung-uk Kim ACPI_STATUS 173a9f12690SJung-uk Kim AcpiFindRootPointer ( 174a9f12690SJung-uk Kim ACPI_SIZE *RsdpAddress); 175a9f12690SJung-uk Kim 176a9f12690SJung-uk Kim ACPI_STATUS 177a9f12690SJung-uk Kim AcpiLoadTables ( 178a9f12690SJung-uk Kim void); 179a9f12690SJung-uk Kim 180a9f12690SJung-uk Kim ACPI_STATUS 181a9f12690SJung-uk Kim AcpiGetTableHeader ( 182a9f12690SJung-uk Kim ACPI_STRING Signature, 183a9f12690SJung-uk Kim UINT32 Instance, 184a9f12690SJung-uk Kim ACPI_TABLE_HEADER *OutTableHeader); 185a9f12690SJung-uk Kim 186a9f12690SJung-uk Kim ACPI_STATUS 187a9f12690SJung-uk Kim AcpiGetTable ( 188a9f12690SJung-uk Kim ACPI_STRING Signature, 189a9f12690SJung-uk Kim UINT32 Instance, 190a9f12690SJung-uk Kim ACPI_TABLE_HEADER **OutTable); 191a9f12690SJung-uk Kim 192a9f12690SJung-uk Kim ACPI_STATUS 193a9f12690SJung-uk Kim AcpiGetTableByIndex ( 194a9f12690SJung-uk Kim UINT32 TableIndex, 195a9f12690SJung-uk Kim ACPI_TABLE_HEADER **OutTable); 196a9f12690SJung-uk Kim 197a9f12690SJung-uk Kim ACPI_STATUS 198a9f12690SJung-uk Kim AcpiInstallTableHandler ( 199a9f12690SJung-uk Kim ACPI_TABLE_HANDLER Handler, 200a9f12690SJung-uk Kim void *Context); 201a9f12690SJung-uk Kim 202a9f12690SJung-uk Kim ACPI_STATUS 203a9f12690SJung-uk Kim AcpiRemoveTableHandler ( 204a9f12690SJung-uk Kim ACPI_TABLE_HANDLER Handler); 205a9f12690SJung-uk Kim 206a9f12690SJung-uk Kim 207a9f12690SJung-uk Kim /* 208a9f12690SJung-uk Kim * Namespace and name interfaces 209a9f12690SJung-uk Kim */ 210a9f12690SJung-uk Kim ACPI_STATUS 211a9f12690SJung-uk Kim AcpiWalkNamespace ( 212a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 213a9f12690SJung-uk Kim ACPI_HANDLE StartObject, 214a9f12690SJung-uk Kim UINT32 MaxDepth, 2152272d050SJung-uk Kim ACPI_WALK_CALLBACK PreOrderVisit, 2162272d050SJung-uk Kim ACPI_WALK_CALLBACK PostOrderVisit, 217a9f12690SJung-uk Kim void *Context, 218a9f12690SJung-uk Kim void **ReturnValue); 219a9f12690SJung-uk Kim 220a9f12690SJung-uk Kim ACPI_STATUS 221a9f12690SJung-uk Kim AcpiGetDevices ( 222a9f12690SJung-uk Kim char *HID, 223a9f12690SJung-uk Kim ACPI_WALK_CALLBACK UserFunction, 224a9f12690SJung-uk Kim void *Context, 225a9f12690SJung-uk Kim void **ReturnValue); 226a9f12690SJung-uk Kim 227a9f12690SJung-uk Kim ACPI_STATUS 228a9f12690SJung-uk Kim AcpiGetName ( 2293f5e024cSJung-uk Kim ACPI_HANDLE Object, 230a9f12690SJung-uk Kim UINT32 NameType, 231a9f12690SJung-uk Kim ACPI_BUFFER *RetPathPtr); 232a9f12690SJung-uk Kim 233a9f12690SJung-uk Kim ACPI_STATUS 234a9f12690SJung-uk Kim AcpiGetHandle ( 235a9f12690SJung-uk Kim ACPI_HANDLE Parent, 236a9f12690SJung-uk Kim ACPI_STRING Pathname, 237a9f12690SJung-uk Kim ACPI_HANDLE *RetHandle); 238a9f12690SJung-uk Kim 239a9f12690SJung-uk Kim ACPI_STATUS 240a9f12690SJung-uk Kim AcpiAttachData ( 2413f5e024cSJung-uk Kim ACPI_HANDLE Object, 242a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler, 243a9f12690SJung-uk Kim void *Data); 244a9f12690SJung-uk Kim 245a9f12690SJung-uk Kim ACPI_STATUS 246a9f12690SJung-uk Kim AcpiDetachData ( 2473f5e024cSJung-uk Kim ACPI_HANDLE Object, 248a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler); 249a9f12690SJung-uk Kim 250a9f12690SJung-uk Kim ACPI_STATUS 251a9f12690SJung-uk Kim AcpiGetData ( 2523f5e024cSJung-uk Kim ACPI_HANDLE Object, 253a9f12690SJung-uk Kim ACPI_OBJECT_HANDLER Handler, 254a9f12690SJung-uk Kim void **Data); 255a9f12690SJung-uk Kim 256a9f12690SJung-uk Kim ACPI_STATUS 257a9f12690SJung-uk Kim AcpiDebugTrace ( 258a9f12690SJung-uk Kim char *Name, 259a9f12690SJung-uk Kim UINT32 DebugLevel, 260a9f12690SJung-uk Kim UINT32 DebugLayer, 261a9f12690SJung-uk Kim UINT32 Flags); 262a9f12690SJung-uk Kim 263a9f12690SJung-uk Kim 264a9f12690SJung-uk Kim /* 265a9f12690SJung-uk Kim * Object manipulation and enumeration 266a9f12690SJung-uk Kim */ 267a9f12690SJung-uk Kim ACPI_STATUS 268a9f12690SJung-uk Kim AcpiEvaluateObject ( 269a9f12690SJung-uk Kim ACPI_HANDLE Object, 270a9f12690SJung-uk Kim ACPI_STRING Pathname, 271a9f12690SJung-uk Kim ACPI_OBJECT_LIST *ParameterObjects, 272a9f12690SJung-uk Kim ACPI_BUFFER *ReturnObjectBuffer); 273a9f12690SJung-uk Kim 274a9f12690SJung-uk Kim ACPI_STATUS 275a9f12690SJung-uk Kim AcpiEvaluateObjectTyped ( 276a9f12690SJung-uk Kim ACPI_HANDLE Object, 277a9f12690SJung-uk Kim ACPI_STRING Pathname, 278a9f12690SJung-uk Kim ACPI_OBJECT_LIST *ExternalParams, 279a9f12690SJung-uk Kim ACPI_BUFFER *ReturnBuffer, 280a9f12690SJung-uk Kim ACPI_OBJECT_TYPE ReturnType); 281a9f12690SJung-uk Kim 282a9f12690SJung-uk Kim ACPI_STATUS 283a9f12690SJung-uk Kim AcpiGetObjectInfo ( 2843f5e024cSJung-uk Kim ACPI_HANDLE Object, 285d6dd1baeSJung-uk Kim ACPI_DEVICE_INFO **ReturnBuffer); 286a9f12690SJung-uk Kim 287a9f12690SJung-uk Kim ACPI_STATUS 288a9f12690SJung-uk Kim AcpiInstallMethod ( 289a9f12690SJung-uk Kim UINT8 *Buffer); 290a9f12690SJung-uk Kim 291a9f12690SJung-uk Kim ACPI_STATUS 292a9f12690SJung-uk Kim AcpiGetNextObject ( 293a9f12690SJung-uk Kim ACPI_OBJECT_TYPE Type, 294a9f12690SJung-uk Kim ACPI_HANDLE Parent, 295a9f12690SJung-uk Kim ACPI_HANDLE Child, 296a9f12690SJung-uk Kim ACPI_HANDLE *OutHandle); 297a9f12690SJung-uk Kim 298a9f12690SJung-uk Kim ACPI_STATUS 299a9f12690SJung-uk Kim AcpiGetType ( 300a9f12690SJung-uk Kim ACPI_HANDLE Object, 301a9f12690SJung-uk Kim ACPI_OBJECT_TYPE *OutType); 302a9f12690SJung-uk Kim 303a9f12690SJung-uk Kim ACPI_STATUS 304a9f12690SJung-uk Kim AcpiGetParent ( 305a9f12690SJung-uk Kim ACPI_HANDLE Object, 306a9f12690SJung-uk Kim ACPI_HANDLE *OutHandle); 307a9f12690SJung-uk Kim 308a9f12690SJung-uk Kim 309a9f12690SJung-uk Kim /* 310a9f12690SJung-uk Kim * Handler interfaces 311a9f12690SJung-uk Kim */ 312a9f12690SJung-uk Kim ACPI_STATUS 313a9f12690SJung-uk Kim AcpiInstallInitializationHandler ( 314a9f12690SJung-uk Kim ACPI_INIT_HANDLER Handler, 315a9f12690SJung-uk Kim UINT32 Function); 316a9f12690SJung-uk Kim 317a9f12690SJung-uk Kim ACPI_STATUS 3185a77b11bSJung-uk Kim AcpiInstallGlobalEventHandler ( 3195a77b11bSJung-uk Kim ACPI_GBL_EVENT_HANDLER Handler, 3205a77b11bSJung-uk Kim void *Context); 3215a77b11bSJung-uk Kim 3225a77b11bSJung-uk Kim ACPI_STATUS 323a9f12690SJung-uk Kim AcpiInstallFixedEventHandler ( 324a9f12690SJung-uk Kim UINT32 AcpiEvent, 325a9f12690SJung-uk Kim ACPI_EVENT_HANDLER Handler, 326a9f12690SJung-uk Kim void *Context); 327a9f12690SJung-uk Kim 328a9f12690SJung-uk Kim ACPI_STATUS 329a9f12690SJung-uk Kim AcpiRemoveFixedEventHandler ( 330a9f12690SJung-uk Kim UINT32 AcpiEvent, 331a9f12690SJung-uk Kim ACPI_EVENT_HANDLER Handler); 332a9f12690SJung-uk Kim 333a9f12690SJung-uk Kim ACPI_STATUS 3345a77b11bSJung-uk Kim AcpiInstallGpeHandler ( 3355a77b11bSJung-uk Kim ACPI_HANDLE GpeDevice, 3365a77b11bSJung-uk Kim UINT32 GpeNumber, 3375a77b11bSJung-uk Kim UINT32 Type, 3385a77b11bSJung-uk Kim ACPI_GPE_HANDLER Address, 3395a77b11bSJung-uk Kim void *Context); 3405a77b11bSJung-uk Kim 3415a77b11bSJung-uk Kim ACPI_STATUS 3425a77b11bSJung-uk Kim AcpiRemoveGpeHandler ( 3435a77b11bSJung-uk Kim ACPI_HANDLE GpeDevice, 3445a77b11bSJung-uk Kim UINT32 GpeNumber, 3455a77b11bSJung-uk Kim ACPI_GPE_HANDLER Address); 3465a77b11bSJung-uk Kim 3475a77b11bSJung-uk Kim ACPI_STATUS 348a9f12690SJung-uk Kim AcpiInstallNotifyHandler ( 349a9f12690SJung-uk Kim ACPI_HANDLE Device, 350a9f12690SJung-uk Kim UINT32 HandlerType, 351a9f12690SJung-uk Kim ACPI_NOTIFY_HANDLER Handler, 352a9f12690SJung-uk Kim void *Context); 353a9f12690SJung-uk Kim 354a9f12690SJung-uk Kim ACPI_STATUS 355a9f12690SJung-uk Kim AcpiRemoveNotifyHandler ( 356a9f12690SJung-uk Kim ACPI_HANDLE Device, 357a9f12690SJung-uk Kim UINT32 HandlerType, 358a9f12690SJung-uk Kim ACPI_NOTIFY_HANDLER Handler); 359a9f12690SJung-uk Kim 360a9f12690SJung-uk Kim ACPI_STATUS 361a9f12690SJung-uk Kim AcpiInstallAddressSpaceHandler ( 362a9f12690SJung-uk Kim ACPI_HANDLE Device, 363a9f12690SJung-uk Kim ACPI_ADR_SPACE_TYPE SpaceId, 364a9f12690SJung-uk Kim ACPI_ADR_SPACE_HANDLER Handler, 365a9f12690SJung-uk Kim ACPI_ADR_SPACE_SETUP Setup, 366a9f12690SJung-uk Kim void *Context); 367a9f12690SJung-uk Kim 368a9f12690SJung-uk Kim ACPI_STATUS 369a9f12690SJung-uk Kim AcpiRemoveAddressSpaceHandler ( 370a9f12690SJung-uk Kim ACPI_HANDLE Device, 371a9f12690SJung-uk Kim ACPI_ADR_SPACE_TYPE SpaceId, 372a9f12690SJung-uk Kim ACPI_ADR_SPACE_HANDLER Handler); 373a9f12690SJung-uk Kim 374a9f12690SJung-uk Kim ACPI_STATUS 375a9f12690SJung-uk Kim AcpiInstallExceptionHandler ( 376a9f12690SJung-uk Kim ACPI_EXCEPTION_HANDLER Handler); 377a9f12690SJung-uk Kim 378709fac06SJung-uk Kim ACPI_STATUS 379709fac06SJung-uk Kim AcpiInstallInterfaceHandler ( 380709fac06SJung-uk Kim ACPI_INTERFACE_HANDLER Handler); 381709fac06SJung-uk Kim 382a9f12690SJung-uk Kim 383a9f12690SJung-uk Kim /* 3845a77b11bSJung-uk Kim * Global Lock interfaces 385a9f12690SJung-uk Kim */ 386a9f12690SJung-uk Kim ACPI_STATUS 387a9f12690SJung-uk Kim AcpiAcquireGlobalLock ( 388a9f12690SJung-uk Kim UINT16 Timeout, 389a9f12690SJung-uk Kim UINT32 *Handle); 390a9f12690SJung-uk Kim 391a9f12690SJung-uk Kim ACPI_STATUS 392a9f12690SJung-uk Kim AcpiReleaseGlobalLock ( 393a9f12690SJung-uk Kim UINT32 Handle); 394a9f12690SJung-uk Kim 3955a77b11bSJung-uk Kim 3965a77b11bSJung-uk Kim /* 397*3f0275a0SJung-uk Kim * Interfaces to AML mutex objects 398*3f0275a0SJung-uk Kim */ 399*3f0275a0SJung-uk Kim ACPI_STATUS 400*3f0275a0SJung-uk Kim AcpiAcquireMutex ( 401*3f0275a0SJung-uk Kim ACPI_HANDLE Handle, 402*3f0275a0SJung-uk Kim ACPI_STRING Pathname, 403*3f0275a0SJung-uk Kim UINT16 Timeout); 404*3f0275a0SJung-uk Kim 405*3f0275a0SJung-uk Kim ACPI_STATUS 406*3f0275a0SJung-uk Kim AcpiReleaseMutex ( 407*3f0275a0SJung-uk Kim ACPI_HANDLE Handle, 408*3f0275a0SJung-uk Kim ACPI_STRING Pathname); 409*3f0275a0SJung-uk Kim 410*3f0275a0SJung-uk Kim 411*3f0275a0SJung-uk Kim /* 4125a77b11bSJung-uk Kim * Fixed Event interfaces 4135a77b11bSJung-uk Kim */ 414a9f12690SJung-uk Kim ACPI_STATUS 415a9f12690SJung-uk Kim AcpiEnableEvent ( 416a9f12690SJung-uk Kim UINT32 Event, 417a9f12690SJung-uk Kim UINT32 Flags); 418a9f12690SJung-uk Kim 419a9f12690SJung-uk Kim ACPI_STATUS 420a9f12690SJung-uk Kim AcpiDisableEvent ( 421a9f12690SJung-uk Kim UINT32 Event, 422a9f12690SJung-uk Kim UINT32 Flags); 423a9f12690SJung-uk Kim 424a9f12690SJung-uk Kim ACPI_STATUS 425a9f12690SJung-uk Kim AcpiClearEvent ( 426a9f12690SJung-uk Kim UINT32 Event); 427a9f12690SJung-uk Kim 428a9f12690SJung-uk Kim ACPI_STATUS 429a9f12690SJung-uk Kim AcpiGetEventStatus ( 430a9f12690SJung-uk Kim UINT32 Event, 431a9f12690SJung-uk Kim ACPI_EVENT_STATUS *EventStatus); 432a9f12690SJung-uk Kim 433a9f12690SJung-uk Kim 434a9f12690SJung-uk Kim /* 4355a77b11bSJung-uk Kim * General Purpose Event (GPE) Interfaces 436a9f12690SJung-uk Kim */ 437a9f12690SJung-uk Kim ACPI_STATUS 4385a77b11bSJung-uk Kim AcpiUpdateAllGpes ( 4395a77b11bSJung-uk Kim void); 440a9f12690SJung-uk Kim 441a9f12690SJung-uk Kim ACPI_STATUS 442a9f12690SJung-uk Kim AcpiEnableGpe ( 443a9f12690SJung-uk Kim ACPI_HANDLE GpeDevice, 444a88e22b7SJung-uk Kim UINT32 GpeNumber); 445a9f12690SJung-uk Kim 446a9f12690SJung-uk Kim ACPI_STATUS 447a9f12690SJung-uk Kim AcpiDisableGpe ( 448a9f12690SJung-uk Kim ACPI_HANDLE GpeDevice, 449a88e22b7SJung-uk Kim UINT32 GpeNumber); 450a9f12690SJung-uk Kim 451a9f12690SJung-uk Kim ACPI_STATUS 452a9f12690SJung-uk Kim AcpiClearGpe ( 453a9f12690SJung-uk Kim ACPI_HANDLE GpeDevice, 4548c8be05fSJung-uk Kim UINT32 GpeNumber); 455a9f12690SJung-uk Kim 456a9f12690SJung-uk Kim ACPI_STATUS 4575a77b11bSJung-uk Kim AcpiSetGpe ( 4585a77b11bSJung-uk Kim ACPI_HANDLE GpeDevice, 4595a77b11bSJung-uk Kim UINT32 GpeNumber, 4605a77b11bSJung-uk Kim UINT8 Action); 4615a77b11bSJung-uk Kim 4625a77b11bSJung-uk Kim ACPI_STATUS 4635a77b11bSJung-uk Kim AcpiFinishGpe ( 4645a77b11bSJung-uk Kim ACPI_HANDLE GpeDevice, 4655a77b11bSJung-uk Kim UINT32 GpeNumber); 4665a77b11bSJung-uk Kim 4675a77b11bSJung-uk Kim ACPI_STATUS 4685a77b11bSJung-uk Kim AcpiSetupGpeForWake ( 4695a77b11bSJung-uk Kim ACPI_HANDLE ParentDevice, 4705a77b11bSJung-uk Kim ACPI_HANDLE GpeDevice, 4715a77b11bSJung-uk Kim UINT32 GpeNumber); 4725a77b11bSJung-uk Kim 4735a77b11bSJung-uk Kim ACPI_STATUS 4745a77b11bSJung-uk Kim AcpiSetGpeWakeMask ( 475a88e22b7SJung-uk Kim ACPI_HANDLE GpeDevice, 476a88e22b7SJung-uk Kim UINT32 GpeNumber, 477a88e22b7SJung-uk Kim UINT8 Action); 478a88e22b7SJung-uk Kim 479a88e22b7SJung-uk Kim ACPI_STATUS 480a9f12690SJung-uk Kim AcpiGetGpeStatus ( 481a9f12690SJung-uk Kim ACPI_HANDLE GpeDevice, 482a9f12690SJung-uk Kim UINT32 GpeNumber, 483a9f12690SJung-uk Kim ACPI_EVENT_STATUS *EventStatus); 484a9f12690SJung-uk Kim 485a9f12690SJung-uk Kim ACPI_STATUS 486a9f12690SJung-uk Kim AcpiDisableAllGpes ( 487a9f12690SJung-uk Kim void); 488a9f12690SJung-uk Kim 489a9f12690SJung-uk Kim ACPI_STATUS 490a9f12690SJung-uk Kim AcpiEnableAllRuntimeGpes ( 491a9f12690SJung-uk Kim void); 492a9f12690SJung-uk Kim 493a9f12690SJung-uk Kim ACPI_STATUS 494a9f12690SJung-uk Kim AcpiGetGpeDevice ( 495a9f12690SJung-uk Kim UINT32 GpeIndex, 496a9f12690SJung-uk Kim ACPI_HANDLE *GpeDevice); 497a9f12690SJung-uk Kim 498a9f12690SJung-uk Kim ACPI_STATUS 499a9f12690SJung-uk Kim AcpiInstallGpeBlock ( 500a9f12690SJung-uk Kim ACPI_HANDLE GpeDevice, 501a9f12690SJung-uk Kim ACPI_GENERIC_ADDRESS *GpeBlockAddress, 502a9f12690SJung-uk Kim UINT32 RegisterCount, 503a9f12690SJung-uk Kim UINT32 InterruptNumber); 504a9f12690SJung-uk Kim 505a9f12690SJung-uk Kim ACPI_STATUS 506a9f12690SJung-uk Kim AcpiRemoveGpeBlock ( 507a9f12690SJung-uk Kim ACPI_HANDLE GpeDevice); 508a9f12690SJung-uk Kim 509a9f12690SJung-uk Kim 510a9f12690SJung-uk Kim /* 511a9f12690SJung-uk Kim * Resource interfaces 512a9f12690SJung-uk Kim */ 513a9f12690SJung-uk Kim typedef 514a9f12690SJung-uk Kim ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) ( 515a9f12690SJung-uk Kim ACPI_RESOURCE *Resource, 516a9f12690SJung-uk Kim void *Context); 517a9f12690SJung-uk Kim 518a9f12690SJung-uk Kim ACPI_STATUS 519a9f12690SJung-uk Kim AcpiGetVendorResource ( 5203f5e024cSJung-uk Kim ACPI_HANDLE Device, 521a9f12690SJung-uk Kim char *Name, 522a9f12690SJung-uk Kim ACPI_VENDOR_UUID *Uuid, 523a9f12690SJung-uk Kim ACPI_BUFFER *RetBuffer); 524a9f12690SJung-uk Kim 525a9f12690SJung-uk Kim ACPI_STATUS 526a9f12690SJung-uk Kim AcpiGetCurrentResources ( 5273f5e024cSJung-uk Kim ACPI_HANDLE Device, 528a9f12690SJung-uk Kim ACPI_BUFFER *RetBuffer); 529a9f12690SJung-uk Kim 530a9f12690SJung-uk Kim ACPI_STATUS 531a9f12690SJung-uk Kim AcpiGetPossibleResources ( 5323f5e024cSJung-uk Kim ACPI_HANDLE Device, 533a9f12690SJung-uk Kim ACPI_BUFFER *RetBuffer); 534a9f12690SJung-uk Kim 535a9f12690SJung-uk Kim ACPI_STATUS 536*3f0275a0SJung-uk Kim AcpiGetEventResources ( 537*3f0275a0SJung-uk Kim ACPI_HANDLE DeviceHandle, 538*3f0275a0SJung-uk Kim ACPI_BUFFER *RetBuffer); 539*3f0275a0SJung-uk Kim 540*3f0275a0SJung-uk Kim ACPI_STATUS 541a9f12690SJung-uk Kim AcpiWalkResources ( 5423f5e024cSJung-uk Kim ACPI_HANDLE Device, 543a9f12690SJung-uk Kim char *Name, 544a9f12690SJung-uk Kim ACPI_WALK_RESOURCE_CALLBACK UserFunction, 545a9f12690SJung-uk Kim void *Context); 546a9f12690SJung-uk Kim 547a9f12690SJung-uk Kim ACPI_STATUS 548a9f12690SJung-uk Kim AcpiSetCurrentResources ( 5493f5e024cSJung-uk Kim ACPI_HANDLE Device, 550a9f12690SJung-uk Kim ACPI_BUFFER *InBuffer); 551a9f12690SJung-uk Kim 552a9f12690SJung-uk Kim ACPI_STATUS 553a9f12690SJung-uk Kim AcpiGetIrqRoutingTable ( 5543f5e024cSJung-uk Kim ACPI_HANDLE Device, 555a9f12690SJung-uk Kim ACPI_BUFFER *RetBuffer); 556a9f12690SJung-uk Kim 557a9f12690SJung-uk Kim ACPI_STATUS 558a9f12690SJung-uk Kim AcpiResourceToAddress64 ( 559a9f12690SJung-uk Kim ACPI_RESOURCE *Resource, 560a9f12690SJung-uk Kim ACPI_RESOURCE_ADDRESS64 *Out); 561a9f12690SJung-uk Kim 562*3f0275a0SJung-uk Kim ACPI_STATUS 563*3f0275a0SJung-uk Kim AcpiBufferToResource ( 564*3f0275a0SJung-uk Kim UINT8 *AmlBuffer, 565*3f0275a0SJung-uk Kim UINT16 AmlBufferLength, 566*3f0275a0SJung-uk Kim ACPI_RESOURCE **ResourcePtr); 567*3f0275a0SJung-uk Kim 568a9f12690SJung-uk Kim 569a9f12690SJung-uk Kim /* 570a9f12690SJung-uk Kim * Hardware (ACPI device) interfaces 571a9f12690SJung-uk Kim */ 572a9f12690SJung-uk Kim ACPI_STATUS 573a9f12690SJung-uk Kim AcpiReset ( 574a9f12690SJung-uk Kim void); 575a9f12690SJung-uk Kim 576a9f12690SJung-uk Kim ACPI_STATUS 577a9f12690SJung-uk Kim AcpiRead ( 578d6dd1baeSJung-uk Kim UINT64 *Value, 579a9f12690SJung-uk Kim ACPI_GENERIC_ADDRESS *Reg); 580a9f12690SJung-uk Kim 581a9f12690SJung-uk Kim ACPI_STATUS 582a9f12690SJung-uk Kim AcpiWrite ( 583d6dd1baeSJung-uk Kim UINT64 Value, 584a9f12690SJung-uk Kim ACPI_GENERIC_ADDRESS *Reg); 585a9f12690SJung-uk Kim 586a9f12690SJung-uk Kim ACPI_STATUS 587a9f12690SJung-uk Kim AcpiReadBitRegister ( 588a9f12690SJung-uk Kim UINT32 RegisterId, 589a9f12690SJung-uk Kim UINT32 *ReturnValue); 590a9f12690SJung-uk Kim 591a9f12690SJung-uk Kim ACPI_STATUS 592a9f12690SJung-uk Kim AcpiWriteBitRegister ( 593a9f12690SJung-uk Kim UINT32 RegisterId, 594a9f12690SJung-uk Kim UINT32 Value); 595a9f12690SJung-uk Kim 596a9f12690SJung-uk Kim ACPI_STATUS 597a9f12690SJung-uk Kim AcpiGetSleepTypeData ( 598a9f12690SJung-uk Kim UINT8 SleepState, 599a9f12690SJung-uk Kim UINT8 *Slp_TypA, 600a9f12690SJung-uk Kim UINT8 *Slp_TypB); 601a9f12690SJung-uk Kim 602a9f12690SJung-uk Kim ACPI_STATUS 603a9f12690SJung-uk Kim AcpiEnterSleepStatePrep ( 604a9f12690SJung-uk Kim UINT8 SleepState); 605a9f12690SJung-uk Kim 606a9f12690SJung-uk Kim ACPI_STATUS 607a9f12690SJung-uk Kim AcpiEnterSleepState ( 608a9f12690SJung-uk Kim UINT8 SleepState); 609a9f12690SJung-uk Kim 610a9f12690SJung-uk Kim ACPI_STATUS 611a9f12690SJung-uk Kim AcpiEnterSleepStateS4bios ( 612a9f12690SJung-uk Kim void); 613a9f12690SJung-uk Kim 614a9f12690SJung-uk Kim ACPI_STATUS 615a9f12690SJung-uk Kim AcpiLeaveSleepState ( 616a9f12690SJung-uk Kim UINT8 SleepState) 617a9f12690SJung-uk Kim ; 618a9f12690SJung-uk Kim ACPI_STATUS 619a9f12690SJung-uk Kim AcpiSetFirmwareWakingVector ( 620a9f12690SJung-uk Kim UINT32 PhysicalAddress); 621a9f12690SJung-uk Kim 622a9f12690SJung-uk Kim #if ACPI_MACHINE_WIDTH == 64 623a9f12690SJung-uk Kim ACPI_STATUS 624a9f12690SJung-uk Kim AcpiSetFirmwareWakingVector64 ( 625a9f12690SJung-uk Kim UINT64 PhysicalAddress); 626a9f12690SJung-uk Kim #endif 627a9f12690SJung-uk Kim 628a9f12690SJung-uk Kim 629a9f12690SJung-uk Kim /* 630a9f12690SJung-uk Kim * Error/Warning output 631a9f12690SJung-uk Kim */ 632a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE 633a9f12690SJung-uk Kim AcpiError ( 634a9f12690SJung-uk Kim const char *ModuleName, 635a9f12690SJung-uk Kim UINT32 LineNumber, 636a9f12690SJung-uk Kim const char *Format, 637a9f12690SJung-uk Kim ...) ACPI_PRINTF_LIKE(3); 638a9f12690SJung-uk Kim 639a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE 640a9f12690SJung-uk Kim AcpiException ( 641a9f12690SJung-uk Kim const char *ModuleName, 642a9f12690SJung-uk Kim UINT32 LineNumber, 643a9f12690SJung-uk Kim ACPI_STATUS Status, 644a9f12690SJung-uk Kim const char *Format, 645a9f12690SJung-uk Kim ...) ACPI_PRINTF_LIKE(4); 646a9f12690SJung-uk Kim 647a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE 648a9f12690SJung-uk Kim AcpiWarning ( 649a9f12690SJung-uk Kim const char *ModuleName, 650a9f12690SJung-uk Kim UINT32 LineNumber, 651a9f12690SJung-uk Kim const char *Format, 652a9f12690SJung-uk Kim ...) ACPI_PRINTF_LIKE(3); 653a9f12690SJung-uk Kim 654a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE 655a9f12690SJung-uk Kim AcpiInfo ( 656a9f12690SJung-uk Kim const char *ModuleName, 657a9f12690SJung-uk Kim UINT32 LineNumber, 658a9f12690SJung-uk Kim const char *Format, 659a9f12690SJung-uk Kim ...) ACPI_PRINTF_LIKE(3); 660a9f12690SJung-uk Kim 661a9f12690SJung-uk Kim 662a9f12690SJung-uk Kim /* 663a9f12690SJung-uk Kim * Debug output 664a9f12690SJung-uk Kim */ 665a9f12690SJung-uk Kim #ifdef ACPI_DEBUG_OUTPUT 666a9f12690SJung-uk Kim 667a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE 668a9f12690SJung-uk Kim AcpiDebugPrint ( 669a9f12690SJung-uk Kim UINT32 RequestedDebugLevel, 670a9f12690SJung-uk Kim UINT32 LineNumber, 671a9f12690SJung-uk Kim const char *FunctionName, 672a9f12690SJung-uk Kim const char *ModuleName, 673a9f12690SJung-uk Kim UINT32 ComponentId, 674a9f12690SJung-uk Kim const char *Format, 675a9f12690SJung-uk Kim ...) ACPI_PRINTF_LIKE(6); 676a9f12690SJung-uk Kim 677a9f12690SJung-uk Kim void ACPI_INTERNAL_VAR_XFACE 678a9f12690SJung-uk Kim AcpiDebugPrintRaw ( 679a9f12690SJung-uk Kim UINT32 RequestedDebugLevel, 680a9f12690SJung-uk Kim UINT32 LineNumber, 681a9f12690SJung-uk Kim const char *FunctionName, 682a9f12690SJung-uk Kim const char *ModuleName, 683a9f12690SJung-uk Kim UINT32 ComponentId, 684a9f12690SJung-uk Kim const char *Format, 685a9f12690SJung-uk Kim ...) ACPI_PRINTF_LIKE(6); 686a9f12690SJung-uk Kim #endif 687a9f12690SJung-uk Kim 688a9f12690SJung-uk Kim #endif /* __ACXFACE_H__ */ 689