152#ifndef __ACEVENTS_H__
153#define __ACEVENTS_H__
161#ifdef ACPI_USE_GPE_POLLING
162#define ACPI_GPE_IS_POLLING_NEEDED(__gpe__) \
163 ((__gpe__)->RuntimeCount == 1 && \
164 (__gpe__)->Flags & ACPI_GPE_INITIALIZED && \
165 ((__gpe__)->Flags & ACPI_GPE_XRUPT_TYPE_MASK) == ACPI_GPE_EDGE_TRIGGERED)
167#define ACPI_GPE_IS_POLLING_NEEDED(__gpe__) FALSE
175AcpiEvInitializeEvents (
179AcpiEvInstallXruptHandlers (
183AcpiEvFixedEventDetect (
191AcpiEvIsNotifyObject (
192 ACPI_NAMESPACE_NODE *Node);
195AcpiEvGetGpeNumberIndex (
199AcpiEvQueueNotifyRequest (
200 ACPI_NAMESPACE_NODE *Node,
208AcpiEvInitGlobalLockHandler (
211ACPI_HW_DEPENDENT_RETURN_OK (
213AcpiEvAcquireGlobalLock(
216ACPI_HW_DEPENDENT_RETURN_OK (
218AcpiEvReleaseGlobalLock(
222AcpiEvRemoveGlobalLockHandler (
231 ACPI_GPE_XRUPT_INFO *GpeXruptList);
234AcpiEvUpdateGpeEnableMask (
235 ACPI_GPE_EVENT_INFO *GpeEventInfo);
239 ACPI_GPE_EVENT_INFO *GpeEventInfo);
243 ACPI_GPE_EVENT_INFO *GpeEventInfo,
247AcpiEvAddGpeReference (
248 ACPI_GPE_EVENT_INFO *GpeEventInfo,
249 BOOLEAN ClearOnEnable);
252AcpiEvRemoveGpeReference (
253 ACPI_GPE_EVENT_INFO *GpeEventInfo);
256AcpiEvGetGpeEventInfo (
257 ACPI_HANDLE GpeDevice,
263 ACPI_GPE_BLOCK_INFO *GpeBlock);
267 ACPI_GPE_EVENT_INFO *GpeEventInfo);
271 ACPI_NAMESPACE_NODE *GpeDevice,
272 ACPI_GPE_EVENT_INFO *GpeEventInfo,
280AcpiEvCreateGpeBlock (
281 ACPI_NAMESPACE_NODE *GpeDevice,
284 UINT32 RegisterCount,
285 UINT16 GpeBlockBaseNumber,
286 UINT32 InterruptNumber,
287 ACPI_GPE_BLOCK_INFO **ReturnGpeBlock);
290AcpiEvInitializeGpeBlock (
291 ACPI_GPE_XRUPT_INFO *GpeXruptInfo,
292 ACPI_GPE_BLOCK_INFO *GpeBlock,
295ACPI_HW_DEPENDENT_RETURN_OK (
297AcpiEvDeleteGpeBlock (
298 ACPI_GPE_BLOCK_INFO *GpeBlock))
302 ACPI_NAMESPACE_NODE *GpeDevice,
303 ACPI_GPE_EVENT_INFO *GpeEventInfo,
314ACPI_HW_DEPENDENT_RETURN_VOID (
317 ACPI_OWNER_ID TableOwnerId))
320AcpiEvMatchGpeMethod (
321 ACPI_HANDLE ObjHandle,
332 ACPI_GPE_CALLBACK GpeWalkCallback,
337 ACPI_GPE_XRUPT_INFO *GpeXruptInfo,
338 ACPI_GPE_BLOCK_INFO *GpeBlock,
342AcpiEvGetGpeXruptBlock (
343 UINT32 InterruptNumber,
344 ACPI_GPE_XRUPT_INFO **GpeXruptBlock);
347AcpiEvDeleteGpeXrupt (
348 ACPI_GPE_XRUPT_INFO *GpeXrupt);
351AcpiEvDeleteGpeHandlers (
352 ACPI_GPE_XRUPT_INFO *GpeXruptInfo,
353 ACPI_GPE_BLOCK_INFO *GpeBlock,
361AcpiEvFindRegionHandler (
362 ACPI_ADR_SPACE_TYPE SpaceId,
363 ACPI_OPERAND_OBJECT *HandlerObj);
366AcpiEvHasDefaultHandler (
367 ACPI_NAMESPACE_NODE *Node,
368 ACPI_ADR_SPACE_TYPE SpaceId);
371AcpiEvInstallRegionHandlers (
375AcpiEvInstallSpaceHandler (
376 ACPI_NAMESPACE_NODE *Node,
377 ACPI_ADR_SPACE_TYPE SpaceId,
378 ACPI_ADR_SPACE_HANDLER Handler,
379 ACPI_ADR_SPACE_SETUP Setup,
387AcpiEvInitializeOpRegions (
391AcpiEvAddressSpaceDispatch (
392 ACPI_OPERAND_OBJECT *RegionObj,
393 ACPI_OPERAND_OBJECT *FieldObj,
401 ACPI_OPERAND_OBJECT *HandlerObj,
402 ACPI_OPERAND_OBJECT *RegionObj,
403 BOOLEAN AcpiNsIsLocked);
407 ACPI_OPERAND_OBJECT *RegionObj,
408 BOOLEAN AcpiNsIsLocked);
411AcpiEvExecuteRegMethods (
412 ACPI_NAMESPACE_NODE *Node,
413 ACPI_ADR_SPACE_TYPE SpaceId,
417AcpiEvExecuteRegMethod (
418 ACPI_OPERAND_OBJECT *RegionObj,
426AcpiEvSystemMemoryRegionSetup (
429 void *HandlerContext,
430 void **RegionContext);
433AcpiEvIoSpaceRegionSetup (
436 void *HandlerContext,
437 void **RegionContext);
440AcpiEvPciConfigRegionSetup (
443 void *HandlerContext,
444 void **RegionContext);
447AcpiEvCmosRegionSetup (
450 void *HandlerContext,
451 void **RegionContext);
454AcpiEvPciBarRegionSetup (
457 void *HandlerContext,
458 void **RegionContext);
461AcpiEvDataTableRegionSetup (
464 void *HandlerContext,
465 void **RegionContext);
468AcpiEvDefaultRegionSetup (
471 void *HandlerContext,
472 void **RegionContext);
475AcpiEvInitializeRegion (
476 ACPI_OPERAND_OBJECT *RegionObj);
479AcpiEvIsPciRootBridge (
480 ACPI_NAMESPACE_NODE *Node);
486UINT32 ACPI_SYSTEM_XFACE
487AcpiEvGpeXruptHandler (
495AcpiEvInstallSciHandler (
499AcpiEvRemoveAllSciHandlers (
502ACPI_HW_DEPENDENT_RETURN_VOID (