diff options
author | vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-09-14 08:55:03 +0000 |
---|---|---|
committer | vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-09-14 08:55:03 +0000 |
commit | af4a63857cd189964cc2c6b53b54483efaba78a3 (patch) | |
tree | 791e8df39b79520e7e3c7cbb9bb33bc2d0bb89c5 /IntelFrameworkModulePkg/Bus/Pci | |
parent | 0cd118f7799602a88a5feb8ff1ef3e011a04b8ad (diff) | |
download | edk2-platforms-af4a63857cd189964cc2c6b53b54483efaba78a3.tar.xz |
updated the Bus Driver that is able to create all or one of its child handles on each call to Start() not to create new child handle if RemainingDeviepath is the End of Device Path Node, per UEFI 2.3.
The others changes include:
1. Check RemainingDevicePath at beginning of Supported(), make sure it has been verified before Start() is called.
2. Check IO protocol firstly rather than EfiDevicePathProtocolGuid, reduce the times entering into Start() function because EfiDevicePathProtocolGuid existed on most of handle.
3. If no any child device is created on last time, and RemainingDevicePath is valid Uart Devcie path, go on creating child device handle based on this RemainingDevicePath.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9262 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'IntelFrameworkModulePkg/Bus/Pci')
-rw-r--r-- | IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.c b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.c index 4bd4413242..588519de0d 100644 --- a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.c +++ b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.c @@ -194,7 +194,7 @@ IDEBusDriverBindingSupported ( }
//
- // If protocols were opened normally, closed it
+ // Close the I/O Abstraction(s) used to perform the supported test
//
gBS->CloseProtocol (
Controller,
@@ -428,7 +428,7 @@ IDEBusDriverBindingStart ( if (EnumAll || RemainingDevicePath == NULL) {
//
// If IdeInit->EnumAll is TRUE or RemainingDevicePath is NULL,
- // must enumerate all IDE device anyway
+ // must enumerate all IDE devices anyway
//
BeginningIdeChannel = IdePrimary;
EndIdeChannel = IdeSecondary;
@@ -437,8 +437,8 @@ IDEBusDriverBindingStart ( } else if (!IsDevicePathEnd (RemainingDevicePath)) {
//
- // RemainingDevicePath is the End of Device Path Node,
- // only scan the specified device by RemainingDevicePath.
+ // If RemainingDevicePath isn't the End of Device Path Node,
+ // only scan the specified device by RemainingDevicePath
//
Node = (EFI_DEV_PATH *) RemainingDevicePath;
BeginningIdeChannel = Node->Atapi.PrimarySecondary;
@@ -456,7 +456,7 @@ IDEBusDriverBindingStart ( } else {
//
- // If RemainingDevicePath is not the End of Device Path Node,
+ // If RemainingDevicePath is the End of Device Path Node,
// skip enumerate any device and return EFI_SUCESSS
//
BeginningIdeChannel = IdeMaxChannel;
|