summaryrefslogtreecommitdiffstats
path: root/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.h
diff options
context:
space:
mode:
Diffstat (limited to 'IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.h')
-rw-r--r--IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.h55
1 files changed, 34 insertions, 21 deletions
diff --git a/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.h b/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.h
index 4c402b2a47..d28fb7f846 100644
--- a/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.h
+++ b/IntelFrameworkModulePkg/Bus/Pci/PciBusDxe/PciDriverOverride.h
@@ -1,13 +1,14 @@
/** @file
+ Functions declaration for Bus Specific Driver Override protoocl.
-Copyright (c) 2006, Intel Corporation
-All rights reserved. This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD License
-which accompanies this distribution. The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+Copyright (c) 2006 - 2009, Intel Corporation
+All rights reserved. This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
@@ -17,6 +18,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#define DRIVER_OVERRIDE_SIGNATURE SIGNATURE_32 ('d', 'r', 'o', 'v')
+//
+// PCI driver override driver image list
+//
typedef struct {
UINT32 Signature;
LIST_ENTRY Link;
@@ -30,22 +34,24 @@ typedef struct {
/**
Initializes a PCI Driver Override Instance.
- @param PciIoDevice Device instance.
+ @param PciIoDevice PCI Device instance.
**/
VOID
InitializePciDriverOverrideInstance (
- PCI_IO_DEVICE *PciIoDevice
+ IN OUT PCI_IO_DEVICE *PciIoDevice
);
/**
Add an overriding driver image.
-
+
@param PciIoDevice Instance of PciIo device.
@param DriverImageHandle new added driver image.
-
- @retval EFI_OUT_OF_RESOURCES no memory resource for new driver instance.
- @retval EFI_SUCCESS Success add driver.
+
+ @retval EFI_SUCCESS Successfully added driver.
+ @retval EFI_OUT_OF_RESOURCES No memory resource for new driver instance.
+ @retval other Some error occurred when locating gEfiLoadedImageProtocolGuid.
+
**/
EFI_STATUS
AddDriver (
@@ -55,13 +61,20 @@ AddDriver (
/**
- Get a overriding driver image.
- @param This Pointer to instance of EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL.
- @param DriverImageHandle Override driver image.
-
- @retval EFI_SUCCESS Success to get driver image handle.
- @retval EFI_NOT_FOUND can not find override driver image.
- @retval EFI_INVALID_PARAMETER Invalid parameter.
+ Uses a bus specific algorithm to retrieve a driver image handle for a controller.
+
+ @param This A pointer to the EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL instance.
+ @param DriverImageHandle On input, a pointer to the previous driver image handle returned
+ by GetDriver(). On output, a pointer to the next driver
+ image handle. Passing in a NULL, will return the first driver
+ image handle.
+
+ @retval EFI_SUCCESS A bus specific override driver is returned in DriverImageHandle.
+ @retval EFI_NOT_FOUND The end of the list of override drivers was reached.
+ A bus specific override driver is not returned in DriverImageHandle.
+ @retval EFI_INVALID_PARAMETER DriverImageHandle is not a handle that was returned on a
+ previous call to GetDriver().
+
**/
EFI_STATUS
EFIAPI