--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+ \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+\r
+Module Name:\r
+\r
+ PcatIsaAcpi.h\r
+ \r
+Abstract:\r
+\r
+ EFI PCAT ISA ACPI Driver for a Generic PC Platform\r
+\r
+Revision History\r
+\r
+--*/\r
+\r
+#ifndef _PCAT_ISA_ACPI_H_\r
+#define _PCAT_ISA_ACPI_H_\r
+\r
+#include <PiDxe.h>\r
+\r
+#include <IndustryStandard/Pci.h>\r
+\r
+#include <Protocol/DevicePath.h>\r
+#include <Protocol/PciIo.h>\r
+#include <Protocol/IsaIo.h>\r
+#include <Protocol/DriverBinding.h>\r
+#include <Protocol/ComponentName.h>\r
+#include <Protocol/ComponentName2.h>\r
+\r
+\r
+#include <Library/UefiLib.h>\r
+#include <Library/UefiBootServicesTableLib.h>\r
+\r
+#include <Protocol/IsaAcpi.h>\r
+//\r
+// PCAT ISA ACPI device private data structure\r
+//\r
+#define PCAT_ISA_ACPI_DEV_SIGNATURE SIGNATURE_32('L','P','C','D')\r
+\r
+typedef struct {\r
+ UINTN Signature;\r
+ EFI_HANDLE Handle; \r
+ EFI_ISA_ACPI_PROTOCOL IsaAcpi;\r
+ EFI_PCI_IO_PROTOCOL *PciIo;\r
+} PCAT_ISA_ACPI_DEV;\r
+\r
+#define PCAT_ISA_ACPI_DEV_FROM_THIS(a) BASE_CR(a, PCAT_ISA_ACPI_DEV, IsaAcpi)\r
+\r
+//\r
+// Global Variables\r
+//\r
+extern EFI_DRIVER_BINDING_PROTOCOL gPcatIsaAcpiDriverBinding;\r
+\r
+extern EFI_COMPONENT_NAME2_PROTOCOL gPcatIsaAcpiComponentName2;\r
+\r
+extern EFI_COMPONENT_NAME_PROTOCOL gPcatIsaAcpiComponentName;\r
+\r
+\r
+//\r
+// Prototypes for Driver model protocol interface\r
+//\r
+EFI_STATUS\r
+EFIAPI\r
+PcatIsaAcpiDriverBindingSupported (\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+PcatIsaAcpiDriverBindingStart (\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+PcatIsaAcpiDriverBindingStop (\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN UINTN NumberOfChildren,\r
+ IN EFI_HANDLE *ChildHandleBuffer\r
+ );\r
+\r
+//\r
+// Prototypes for the ISA ACPI protocol interface\r
+//\r
+EFI_STATUS\r
+EFIAPI\r
+IsaDeviceEnumerate (\r
+ IN EFI_ISA_ACPI_PROTOCOL *This,\r
+ OUT EFI_ISA_ACPI_DEVICE_ID **Device\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+IsaDeviceSetPower (\r
+ IN EFI_ISA_ACPI_PROTOCOL *This,\r
+ IN EFI_ISA_ACPI_DEVICE_ID *Device,\r
+ IN BOOLEAN OnOff\r
+ );\r
+ \r
+EFI_STATUS\r
+EFIAPI\r
+IsaGetCurrentResource (\r
+ IN EFI_ISA_ACPI_PROTOCOL *This,\r
+ IN EFI_ISA_ACPI_DEVICE_ID *Device,\r
+ OUT EFI_ISA_ACPI_RESOURCE_LIST **ResourceList\r
+ );\r
+ \r
+EFI_STATUS\r
+EFIAPI\r
+IsaGetPossibleResource (\r
+ IN EFI_ISA_ACPI_PROTOCOL *This,\r
+ IN EFI_ISA_ACPI_DEVICE_ID *Device, \r
+ OUT EFI_ISA_ACPI_RESOURCE_LIST **ResourceList\r
+ );\r
+ \r
+EFI_STATUS\r
+EFIAPI\r
+IsaSetResource (\r
+ IN EFI_ISA_ACPI_PROTOCOL *This,\r
+ IN EFI_ISA_ACPI_DEVICE_ID *Device,\r
+ IN EFI_ISA_ACPI_RESOURCE_LIST *ResourceList\r
+ );\r
+ \r
+EFI_STATUS\r
+EFIAPI\r
+IsaEnableDevice (\r
+ IN EFI_ISA_ACPI_PROTOCOL *This,\r
+ IN EFI_ISA_ACPI_DEVICE_ID *Device,\r
+ IN BOOLEAN Enable\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+IsaInitDevice (\r
+ IN EFI_ISA_ACPI_PROTOCOL *This,\r
+ IN EFI_ISA_ACPI_DEVICE_ID *Device\r
+ );\r
+ \r
+EFI_STATUS\r
+EFIAPI\r
+IsaInterfaceInit (\r
+ IN EFI_ISA_ACPI_PROTOCOL *This\r
+ ); \r
+\r
+#endif\r