-/*++\r
+/** @file\r
+ EFI PCAT ISA ACPI Driver for a Generic PC Platform\r
\r
-Copyright (c) 2006 - 2007, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
+Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
+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
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
\r
#ifndef _PCAT_ISA_ACPI_H_\r
#define _PCAT_ISA_ACPI_H_\r
\r
#include <Library/UefiLib.h>\r
#include <Library/UefiBootServicesTableLib.h>\r
+#include <Library/BaseMemoryLib.h>\r
+#include <Library/PcdLib.h>\r
\r
#include <Protocol/IsaAcpi.h>\r
//\r
//\r
// Prototypes for Driver model protocol interface\r
//\r
+/**\r
+ ControllerDriver Protocol Method\r
+\r
+ @param This Driver Binding protocol instance pointer. \r
+ @param Controller Handle of device to test.\r
+ @param RemainingDevicePath Optional parameter use to pick a specific child\r
+ device to start.\r
+ @retval EFI_SUCCESS This driver supports this device.\r
+ @retval other This driver does not support this device.\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
PcatIsaAcpiDriverBindingSupported (\r
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
);\r
\r
+/**\r
+ Install EFI_ISA_ACPI_PROTOCOL.\r
+\r
+ @param This Driver Binding protocol instance pointer.\r
+ @param ControllerHandle Handle of device to bind driver to.\r
+ @param RemainingDevicePath Optional parameter use to pick a specific child\r
+ device to start.\r
+\r
+ @retval EFI_SUCCESS This driver is added to ControllerHandle\r
+ @retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle\r
+ @retval other This driver does not support this device\r
+**/\r
EFI_STATUS\r
EFIAPI\r
PcatIsaAcpiDriverBindingStart (\r
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
);\r
\r
+/**\r
+ Stop this driver on ControllerHandle. Support stopping any child handles\r
+ created by this driver.\r
+\r
+ @param This Protocol instance pointer.\r
+ @param ControllerHandle Handle of device to stop driver on\r
+ @param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of\r
+ children is zero stop the entire bus driver.\r
+ @param ChildHandleBuffer List of Child Handles to Stop.\r
+\r
+ @retval EFI_SUCCESS This driver is removed ControllerHandle\r
+ @retval other This driver was not removed from this device\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
PcatIsaAcpiDriverBindingStop (\r
//\r
// Prototypes for the ISA ACPI protocol interface\r
//\r
+/**\r
+ Enumerate the ISA devices on the ISA bus\r
+\r
+\r
+ @param This Point to instance of EFI_ISA_ACPI_PROTOCOL\r
+ @param Device Point to device ID instance \r
+\r
+ @retval EFI_NOT_FOUND Can not found the next Isa device.\r
+ @retval EFI_SUCESS Success retrieve the next Isa device for enumration.\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IsaDeviceEnumerate (\r
OUT EFI_ISA_ACPI_DEVICE_ID **Device\r
);\r
\r
+/**\r
+ Set ISA device power\r
+\r
+\r
+ @param This Point to instance of EFI_ISA_ACPI_PROTOCOL\r
+ @param Device Point to device ID instance \r
+ @param OnOff TRUE for setting isa device power on,\r
+ FALSE for setting isa device power off\r
+\r
+ @return EFI_SUCCESS Sucess to change power status for isa device.\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IsaDeviceSetPower (\r
IN BOOLEAN OnOff\r
);\r
\r
+/**\r
+ Get current resource for the specific ISA device.\r
+\r
+ @param This Point to instance of EFI_ISA_ACPI_PROTOCOL\r
+ @param Device Point to device ID instance \r
+ @param ResourceList On return, point to resources instances for given isa device\r
+\r
+ @retval EFI_NOT_FOUND Can not found the resource instance for given isa device\r
+ @retval EFI_SUCCESS Success to get resource instance for given isa device.\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IsaGetCurrentResource (\r
OUT EFI_ISA_ACPI_RESOURCE_LIST **ResourceList\r
);\r
\r
+/**\r
+ Get possible resource for the specific ISA device.\r
+ \r
+ @param This Point to instance of EFI_ISA_ACPI_PROTOCOL\r
+ @param Device Point to device ID instance \r
+ @param ResourceList On return, point to resources instances for given isa device\r
+\r
+ @retval EFI_SUCCESS Success to get resource instance for given isa device.\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IsaGetPossibleResource (\r
OUT EFI_ISA_ACPI_RESOURCE_LIST **ResourceList\r
);\r
\r
+/**\r
+ Set resource for the specific ISA device.\r
+\r
+ @param This Point to instance of EFI_ISA_ACPI_PROTOCOL\r
+ @param Device Point to device ID instance \r
+ @param ResourceList Point to resources instances for given isa device\r
+\r
+ @return EFI_SUCESS Success to set resource.\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IsaSetResource (\r
IN EFI_ISA_ACPI_RESOURCE_LIST *ResourceList\r
);\r
\r
+/**\r
+ Enable/Disable the specific ISA device.\r
+\r
+ @param This Point to instance of EFI_ISA_ACPI_PROTOCOL\r
+ @param Device Point to device ID instance \r
+ @param Enable Enable/Disable\r
+\r
+ @return EFI_SUCESS Success to enable/disable.\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IsaEnableDevice (\r
IN BOOLEAN Enable\r
);\r
\r
+/**\r
+ Initialize the specific ISA device.\r
+\r
+ @param This Point to instance of EFI_ISA_ACPI_PROTOCOL\r
+ @param Device Point to device ID instance \r
+\r
+ @return EFI_SUCESS Success to initialize.\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IsaInitDevice (\r
IN EFI_ISA_ACPI_DEVICE_ID *Device\r
);\r
\r
+/**\r
+ Initialize the ISA interface.\r
+\r
+ @param This Point to instance of EFI_ISA_ACPI_PROTOCOL\r
+\r
+ @return EFI_SUCESS Success to initialize ISA interface.\r
+\r
+**/\r
EFI_STATUS\r
EFIAPI\r
IsaInterfaceInit (\r
IN EFI_ISA_ACPI_PROTOCOL *This\r
); \r
\r
+/**\r
+ Initialize the ISA device list.\r
+**/\r
+VOID\r
+InitializePcatIsaAcpiDeviceList (\r
+ VOID\r
+ );\r
+\r
#endif\r