The redundant functions which are never called have been removed.
They are AtaNonDataCommandInExt,IDEBusDriverConfigurationSetOptions,
GetResponse,IDEBusDriverConfigurationOptionsValid and
IDEBusDriverConfigurationForceDefaults.
https://bugzilla.tianocore.org/show_bug.cgi?id=1063
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: shenglei <shenglei.zhang@intel.com>
---
.../Bus/Pci/IdeBusDxe/Ata.c | 119 --------
.../Bus/Pci/IdeBusDxe/DriverConfiguration.c | 261 ------------------
.../Bus/Pci/IdeBusDxe/Ide.h | 24 --
.../Bus/Pci/IdeBusDxe/IdeBus.h | 113 --------
4 files changed, 517 deletions(-)
diff --git a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ata.c b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ata.c
index 7819773f38..2ca06806d5 100644
--- a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ata.c
+++ b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ata.c
@@ -2676,124 +2676,5 @@ AtaNonDataCommandIn (
return EFI_SUCCESS;
}
-/**
- Send ATA Ext command into device with NON_DATA protocol
-
- @param IdeDev Standard IDE device private data structure
- @param AtaCommand The ATA command to be sent
- @param Device The value in Device register
- @param Feature The value in Feature register
- @param SectorCount The value in SectorCount register
- @param LbaAddress The LBA address in 48-bit mode
-
- @retval EFI_SUCCESS Reading succeed
- @retval EFI_ABORTED Command failed
- @retval EFI_DEVICE_ERROR Device status error.
-
-**/
-EFI_STATUS
-AtaNonDataCommandInExt (
- IN IDE_BLK_IO_DEV *IdeDev,
- IN UINT8 AtaCommand,
- IN UINT8 Device,
- IN UINT16 Feature,
- IN UINT16 SectorCount,
- IN EFI_LBA LbaAddress
- )
-{
- EFI_STATUS Status;
- UINT8 StatusRegister;
- UINT8 SectorCount8;
- UINT8 Feature8;
- UINT8 LbaLow;
- UINT8 LbaMid;
- UINT8 LbaHigh;
-
- Status = WaitForBSYClear (IdeDev, ATATIMEOUT);
- if (EFI_ERROR (Status)) {
- return EFI_DEVICE_ERROR;
- }
-
- //
- // Select device (bit4), set LBA mode(bit6) (use 0xe0 for compatibility)
- //
- IDEWritePortB (
- IdeDev->PciIo,
- IdeDev->IoPort->Head,
- (UINT8) ((IdeDev->Device << 4) | 0xe0)
- );
-
- //
- // ATA commands for ATA device must be issued when DRDY is set
- //
- Status = DRDYReady (IdeDev, ATATIMEOUT);
- if (EFI_ERROR (Status)) {
- return EFI_DEVICE_ERROR;
- }
-
- //
- // Pass parameter into device register block
- //
- IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->Head, Device);
-
- //
- // Fill the feature register, which is a two-byte FIFO. Need write twice.
- //
- Feature8 = (UINT8) (Feature >> 8);
- IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->Reg1.Feature, Feature8);
-
- Feature8 = (UINT8) Feature;
- IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->Reg1.Feature, Feature8);
-
- //
- // Fill the sector count register, which is a two-byte FIFO. Need write twice.
- //
- SectorCount8 = (UINT8) (SectorCount >> 8);
- IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->SectorCount, SectorCount8);
-
- SectorCount8 = (UINT8) SectorCount;
- IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->SectorCount, SectorCount8);
-
- //
- // Fill the start LBA registers, which are also two-byte FIFO
- //
- LbaLow = (UINT8) RShiftU64 (LbaAddress, 24);
- LbaMid = (UINT8) RShiftU64 (LbaAddress, 32);
- LbaHigh = (UINT8) RShiftU64 (LbaAddress, 40);
- IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->SectorNumber, LbaLow);
- IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->CylinderLsb, LbaMid);
- IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->CylinderMsb, LbaHigh);
-
- LbaLow = (UINT8) LbaAddress;
- LbaMid = (UINT8) RShiftU64 (LbaAddress, 8);
- LbaHigh = (UINT8) RShiftU64 (LbaAddress, 16);
- IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->SectorNumber, LbaLow);
- IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->CylinderLsb, LbaMid);
- IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->CylinderMsb, LbaHigh);
-
- //
- // Send command via Command Register
- //
- IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->Reg.Command, AtaCommand);
-
- //
- // Wait for command completion
- //
- Status = WaitForBSYClear (IdeDev, ATATIMEOUT);
- if (EFI_ERROR (Status)) {
- return EFI_DEVICE_ERROR;
- }
-
- StatusRegister = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort->Reg.Status);
- if ((StatusRegister & ATA_STSREG_ERR) == ATA_STSREG_ERR) {
- //
- // Failed to execute command, abort operation
- //
- return EFI_ABORTED;
- }
-
- return EFI_SUCCESS;
-}
-
diff --git a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/DriverConfiguration.c b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/DriverConfiguration.c
index 3a5d3c6f6b..8f72240386 100644
--- a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/DriverConfiguration.c
+++ b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/DriverConfiguration.c
@@ -26,267 +26,6 @@ CHAR16 *OptionString[4] = {
//
// EFI Driver Configuration Protocol
//
-EFI_DRIVER_CONFIGURATION_PROTOCOL gIDEBusDriverConfiguration = {
- IDEBusDriverConfigurationSetOptions,
- IDEBusDriverConfigurationOptionsValid,
- IDEBusDriverConfigurationForceDefaults,
- "eng"
-};
-
-/**
- Interprete keyboard input.
-
- @retval EFI_ABORTED Get an 'ESC' key inputed.
- @retval EFI_SUCCESS Get an 'Y' or 'y' inputed.
- @retval EFI_NOT_FOUND Get an 'N' or 'n' inputed..
-
-**/
-EFI_STATUS
-GetResponse (
- VOID
- )
-{
- EFI_STATUS Status;
- EFI_INPUT_KEY Key;
-
- while (TRUE) {
- Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);
- if (!EFI_ERROR (Status)) {
- if (Key.ScanCode == SCAN_ESC) {
- return EFI_ABORTED;
- }
-
- switch (Key.UnicodeChar) {
-
- //
- // fall through
- //
- case L'y':
- case L'Y':
- gST->ConOut->OutputString (gST->ConOut, L"Y\n");
- return EFI_SUCCESS;
-
- //
- // fall through
- //
- case L'n':
- case L'N':
- gST->ConOut->OutputString (gST->ConOut, L"N\n");
- return EFI_NOT_FOUND;
- }
-
- }
- }
-}
-
-/**
- Allows the user to set controller specific options for a controller that a
- driver is currently managing.
-
- @param This A pointer to the EFI_DRIVER_CONFIGURATION_ PROTOCOL instance.
- @param ControllerHandle The handle of the controller to set options on.
- @param ChildHandle The handle of the child controller to set options on.
- This is an optional parameter that may be NULL.
- It will be NULL for device drivers, and for a bus drivers
- that wish to set options for the bus controller.
- It will not be NULL for a bus driver that wishes to set
- options for one of its child controllers.
- @param Language A pointer to a three character ISO 639-2 language identifier.
- This is the language of the user interface that should be presented
- to the user, and it must match one of the languages specified in
- SupportedLanguages. The number of languages supported by a driver is up to
- the driver writer.
- @param ActionRequired A pointer to the action that the calling agent is required
- to perform when this function returns.
-
-
- @retval EFI_SUCCESS The driver specified by This successfully set the configuration
- options for the controller specified by ControllerHandle..
- @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
- @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.
- @retval EFI_INVALID_PARAMETER ActionRequired is NULL.
- @retval EFI_UNSUPPORTED The driver specified by This does not support setting configuration options for
- the controller specified by ControllerHandle and ChildHandle.
- @retval EFI_UNSUPPORTED The driver specified by This does not support the language specified by Language.
- @retval EFI_DEVICE_ERROR A device error occurred while attempt to set the configuration options for the
- controller specified by ControllerHandle and ChildHandle.
- @retval EFI_OUT_RESOURCES There are not enough resources available to set the configuration options for the
- controller specified by ControllerHandle and ChildHandle
-**/
-EFI_STATUS
-EFIAPI
-IDEBusDriverConfigurationSetOptions (
- IN EFI_DRIVER_CONFIGURATION_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_HANDLE ChildHandle OPTIONAL,
- IN CHAR8 *Language,
- OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED *ActionRequired
- )
-{
- EFI_STATUS Status;
- UINT8 Value;
- UINT8 NewValue;
- UINTN DataSize;
- UINTN Index;
-
- if (ChildHandle != NULL) {
- return EFI_UNSUPPORTED;
- }
-
- *ActionRequired = EfiDriverConfigurationActionNone;
- DataSize = sizeof (Value);
- Status = gRT->GetVariable (
- L"Configuration",
- &gEfiCallerIdGuid,
- NULL,
- &DataSize,
- &Value
- );
-
- gST->ConOut->OutputString (gST->ConOut, L"IDE Bus Driver Configuration\n");
- gST->ConOut->OutputString (gST->ConOut, L"===============================\n");
-
- NewValue = 0;
- for (Index = 0; Index < 4; Index++) {
- gST->ConOut->OutputString (gST->ConOut, OptionString[Index]);
-
- Status = GetResponse ();
- if (Status == EFI_ABORTED) {
- return EFI_SUCCESS;
- }
-
- if (!EFI_ERROR (Status)) {
- NewValue = (UINT8) (NewValue | (1 << Index));
- }
- }
-
- if (EFI_ERROR (Status) || (NewValue != Value)) {
- gRT->SetVariable (
- L"Configuration",
- &gEfiCallerIdGuid,
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
- sizeof (NewValue),
- &NewValue
- );
-
- *ActionRequired = EfiDriverConfigurationActionRestartController;
- } else {
- *ActionRequired = EfiDriverConfigurationActionNone;
- }
-
- return EFI_SUCCESS;
-}
-
-/**
- Tests to see if a controller's current configuration options are valid.
-
- @param This A pointer to the EFI_DRIVER_CONFIGURATION_PROTOCOL instance.
- @param ControllerHandle The handle of the controller to test if it's current configuration options
- are valid.
- @param ChildHandle The handle of the child controller to test if it's current configuration
- options are valid. This is an optional parameter that may be NULL. It will
- be NULL for device drivers. It will also be NULL for a bus drivers that
- wish to test the configuration options for the bus controller. It will
- not be NULL for a bus driver that wishes to test configuration options for
- one of its child controllers.
- @retval EFI_SUCCESS The controller specified by ControllerHandle and ChildHandle that is being
- managed by the driver specified by This has a valid set of configuration
- options.
- @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
- @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.
- @retval EFI_UNSUPPORTED The driver specified by This is not currently managing the controller
- specified by ControllerHandle and ChildHandle.
- @retval EFI_DEVICE_ERROR The controller specified by ControllerHandle and ChildHandle that is being
- managed by the driver specified by This has an invalid set of configuration
- options.
-**/
-EFI_STATUS
-EFIAPI
-IDEBusDriverConfigurationOptionsValid (
- IN EFI_DRIVER_CONFIGURATION_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_HANDLE ChildHandle OPTIONAL
- )
-{
- EFI_STATUS Status;
- UINT8 Value;
- UINTN DataSize;
-
- if (ChildHandle != NULL) {
- return EFI_UNSUPPORTED;
- }
-
- DataSize = sizeof (Value);
- Status = gRT->GetVariable (
- L"Configuration",
- &gEfiCallerIdGuid,
- NULL,
- &DataSize,
- &Value
- );
- if (EFI_ERROR (Status) || Value > 0x0f) {
- return EFI_DEVICE_ERROR;
- }
-
- return EFI_SUCCESS;
-}
-/**
- Forces a driver to set the default configuration options for a controller.
-
- @param This A pointer to the EFI_DRIVER_CONFIGURATION_ PROTOCOL instance.
- @param ControllerHandle The handle of the controller to force default configuration options on.
- @param ChildHandle The handle of the child controller to force default configuration
- options on This is an optional parameter that may be NULL. It
- will be NULL for device drivers. It will also be NULL for a bus
- drivers that wish to force default configuration options for the bus
- controller. It will not be NULL for a bus driver that wishes to force
- default configuration options for one of its child controllers.
- @param DefaultType The type of default configuration options to force on the controller
- specified by ControllerHandle and ChildHandle.
- @param ActionRequired A pointer to the action that the calling agent is required to perform
- when this function returns.
-
- @retval EFI_SUCCESS The driver specified by This successfully forced the
- default configuration options on the controller specified by
- ControllerHandle and ChildHandle.
- @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
- @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.
- @retval EFI_INVALID_PARAMETER ActionRequired is NULL.
- @retval EFI_UNSUPPORTED The driver specified by This does not support forcing the default
- configuration options on the controller specified by ControllerHandle
- and ChildHandle.
- @retval EFI_UNSUPPORTED The driver specified by This does not support the configuration type
- specified by DefaultType.
- @retval EFI_DEVICE_ERROR A device error occurred while attempt to force the default configuration
- options on the controller specified by ControllerHandle and ChildHandle.
- @retval EFI_OUT_RESOURCES There are not enough resources available to force the default configuration
- options on the controller specified by ControllerHandle and ChildHandle.
-**/
-EFI_STATUS
-EFIAPI
-IDEBusDriverConfigurationForceDefaults (
- IN EFI_DRIVER_CONFIGURATION_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_HANDLE ChildHandle OPTIONAL,
- IN UINT32 DefaultType,
- OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED *ActionRequired
- )
-{
- UINT8 Value;
- if (ChildHandle != NULL) {
- return EFI_UNSUPPORTED;
- }
- Value = 0x0f;
- gRT->SetVariable (
- L"Configuration",
- &gEfiCallerIdGuid,
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
- sizeof (Value),
- &Value
- );
- *ActionRequired = EfiDriverConfigurationActionRestartController;
- return EFI_SUCCESS;
-}
diff --git a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ide.h b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ide.h
index 0fe6c6d502..5d2bf2cacd 100644
--- a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ide.h
+++ b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ide.h
@@ -768,30 +768,6 @@ AtaNonDataCommandIn (
IN UINT8 LbaHigh
);
-/**
- Send ATA Ext command into device with NON_DATA protocol.
-
- @param IdeDev Standard IDE device private data structure
- @param AtaCommand The ATA command to be sent
- @param Device The value in Device register
- @param Feature The value in Feature register
- @param SectorCount The value in SectorCount register
- @param LbaAddress The Lba address in 48-bit mode
-
- @retval EFI_SUCCESS Reading succeed
- @retval EFI_ABORTED Command failed
- @retval EFI_DEVICE_ERROR Device status error.
-
-**/
-EFI_STATUS
-AtaNonDataCommandInExt (
- IN IDE_BLK_IO_DEV *IdeDev,
- IN UINT8 AtaCommand,
- IN UINT8 Device,
- IN UINT16 Feature,
- IN UINT16 SectorCount,
- IN EFI_LBA LbaAddress
- );
/**
Enable Long Physical Sector Feature for ATA device.
diff --git a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.h b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.h
index 7ec872275d..830661e39a 100644
--- a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.h
+++ b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.h
@@ -180,122 +180,9 @@ IDEBusDriverBindingStop (
//
// EFI Driver Configuration Functions
//
-/**
- Allows the user to set controller specific options for a controller that a
- driver is currently managing.
-
- @param This A pointer to the EFI_DRIVER_CONFIGURATION_ PROTOCOL instance.
- @param ControllerHandle The handle of the controller to set options on.
- @param ChildHandle The handle of the child controller to set options on.
- This is an optional parameter that may be NULL.
- It will be NULL for device drivers, and for a bus drivers
- that wish to set options for the bus controller.
- It will not be NULL for a bus driver that wishes to set
- options for one of its child controllers.
- @param Language A pointer to a three character ISO 639-2 language identifier.
- This is the language of the user interface that should be presented
- to the user, and it must match one of the languages specified in
- SupportedLanguages. The number of languages supported by a driver is up to
- the driver writer.
- @param ActionRequired A pointer to the action that the calling agent is required
- to perform when this function returns.
-
-
- @retval EFI_SUCCESS The driver specified by This successfully set the configuration
- options for the controller specified by ControllerHandle..
- @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
- @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.
- @retval EFI_INVALID_PARAMETER ActionRequired is NULL.
- @retval EFI_UNSUPPORTED The driver specified by This does not support setting configuration options for
- the controller specified by ControllerHandle and ChildHandle.
- @retval EFI_UNSUPPORTED The driver specified by This does not support the language specified by Language.
- @retval EFI_DEVICE_ERROR A device error occurred while attempt to set the configuration options for the
- controller specified by ControllerHandle and ChildHandle.
- @retval EFI_OUT_RESOURCES There are not enough resources available to set the configuration options for the
- controller specified by ControllerHandle and ChildHandle
-**/
-EFI_STATUS
-EFIAPI
-IDEBusDriverConfigurationSetOptions (
- IN EFI_DRIVER_CONFIGURATION_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_HANDLE ChildHandle OPTIONAL,
- IN CHAR8 *Language,
- OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED *ActionRequired
- );
-/**
- Tests to see if a controller's current configuration options are valid.
-
- @param This A pointer to the EFI_DRIVER_CONFIGURATION_PROTOCOL instance.
- @param ControllerHandle The handle of the controller to test if it's current configuration options
- are valid.
- @param ChildHandle The handle of the child controller to test if it's current configuration
- options are valid. This is an optional parameter that may be NULL. It will
- be NULL for device drivers. It will also be NULL for a bus drivers that
- wish to test the configuration options for the bus controller. It will
- not be NULL for a bus driver that wishes to test configuration options for
- one of its child controllers.
- @retval EFI_SUCCESS The controller specified by ControllerHandle and ChildHandle that is being
- managed by the driver specified by This has a valid set of configuration
- options.
- @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
- @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.
- @retval EFI_UNSUPPORTED The driver specified by This is not currently managing the controller
- specified by ControllerHandle and ChildHandle.
- @retval EFI_DEVICE_ERROR The controller specified by ControllerHandle and ChildHandle that is being
- managed by the driver specified by This has an invalid set of configuration
- options.
-**/
-EFI_STATUS
-EFIAPI
-IDEBusDriverConfigurationOptionsValid (
- IN EFI_DRIVER_CONFIGURATION_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_HANDLE ChildHandle OPTIONAL
- );
-/**
- Forces a driver to set the default configuration options for a controller.
-
- @param This A pointer to the EFI_DRIVER_CONFIGURATION_ PROTOCOL instance.
- @param ControllerHandle The handle of the controller to force default configuration options on.
- @param ChildHandle The handle of the child controller to force default configuration
- options on This is an optional parameter that may be NULL. It
- will be NULL for device drivers. It will also be NULL for a bus
- drivers that wish to force default configuration options for the bus
- controller. It will not be NULL for a bus driver that wishes to force
- default configuration options for one of its child controllers.
- @param DefaultType The type of default configuration options to force on the controller
- specified by ControllerHandle and ChildHandle.
- @param ActionRequired A pointer to the action that the calling agent is required to perform
- when this function returns.
- @retval EFI_SUCCESS The driver specified by This successfully forced the
- default configuration options on the controller specified by
- ControllerHandle and ChildHandle.
- @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
- @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.
- @retval EFI_INVALID_PARAMETER ActionRequired is NULL.
- @retval EFI_UNSUPPORTED The driver specified by This does not support forcing the default
- configuration options on the controller specified by ControllerHandle
- and ChildHandle.
- @retval EFI_UNSUPPORTED The driver specified by This does not support the configuration type
- specified by DefaultType.
- @retval EFI_DEVICE_ERROR A device error occurred while attempt to force the default configuration
- options on the controller specified by ControllerHandle and ChildHandle.
- @retval EFI_OUT_RESOURCES There are not enough resources available to force the default configuration
- options on the controller specified by ControllerHandle and ChildHandle.
-**/
-EFI_STATUS
-EFIAPI
-IDEBusDriverConfigurationForceDefaults (
- IN EFI_DRIVER_CONFIGURATION_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_HANDLE ChildHandle OPTIONAL,
- IN UINT32 DefaultType,
- OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED *ActionRequired
- );
//
// EFI Driver Diagnostics Functions
--
2.18.0.windows.1
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Thanks/Ray
> -----Original Message-----
> From: edk2-devel <edk2-devel-bounces@lists.01.org> On Behalf Of shenglei
> Sent: Wednesday, August 8, 2018 11:09 AM
> To: edk2-devel@lists.01.org
> Cc: Gao, Liming <liming.gao@intel.com>
> Subject: [edk2] [PATCH 3/6] IntelFrameworkModulePkg IdeBusDxe: Remove
> redundant functions
>
> The redundant functions which are never called have been removed.
> They are AtaNonDataCommandInExt,IDEBusDriverConfigurationSetOptions,
> GetResponse,IDEBusDriverConfigurationOptionsValid and
> IDEBusDriverConfigurationForceDefaults.
> https://bugzilla.tianocore.org/show_bug.cgi?id=1063
>
> Cc: Liming Gao <liming.gao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: shenglei <shenglei.zhang@intel.com>
> ---
> .../Bus/Pci/IdeBusDxe/Ata.c | 119 --------
> .../Bus/Pci/IdeBusDxe/DriverConfiguration.c | 261 ------------------
> .../Bus/Pci/IdeBusDxe/Ide.h | 24 --
> .../Bus/Pci/IdeBusDxe/IdeBus.h | 113 --------
> 4 files changed, 517 deletions(-)
>
> diff --git a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ata.c
> b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ata.c
> index 7819773f38..2ca06806d5 100644
> --- a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ata.c
> +++ b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ata.c
> @@ -2676,124 +2676,5 @@ AtaNonDataCommandIn (
> return EFI_SUCCESS;
> }
>
> -/**
> - Send ATA Ext command into device with NON_DATA protocol
> -
> - @param IdeDev Standard IDE device private data structure
> - @param AtaCommand The ATA command to be sent
> - @param Device The value in Device register
> - @param Feature The value in Feature register
> - @param SectorCount The value in SectorCount register
> - @param LbaAddress The LBA address in 48-bit mode
> -
> - @retval EFI_SUCCESS Reading succeed
> - @retval EFI_ABORTED Command failed
> - @retval EFI_DEVICE_ERROR Device status error.
> -
> -**/
> -EFI_STATUS
> -AtaNonDataCommandInExt (
> - IN IDE_BLK_IO_DEV *IdeDev,
> - IN UINT8 AtaCommand,
> - IN UINT8 Device,
> - IN UINT16 Feature,
> - IN UINT16 SectorCount,
> - IN EFI_LBA LbaAddress
> - )
> -{
> - EFI_STATUS Status;
> - UINT8 StatusRegister;
> - UINT8 SectorCount8;
> - UINT8 Feature8;
> - UINT8 LbaLow;
> - UINT8 LbaMid;
> - UINT8 LbaHigh;
> -
> - Status = WaitForBSYClear (IdeDev, ATATIMEOUT);
> - if (EFI_ERROR (Status)) {
> - return EFI_DEVICE_ERROR;
> - }
> -
> - //
> - // Select device (bit4), set LBA mode(bit6) (use 0xe0 for compatibility)
> - //
> - IDEWritePortB (
> - IdeDev->PciIo,
> - IdeDev->IoPort->Head,
> - (UINT8) ((IdeDev->Device << 4) | 0xe0)
> - );
> -
> - //
> - // ATA commands for ATA device must be issued when DRDY is set
> - //
> - Status = DRDYReady (IdeDev, ATATIMEOUT);
> - if (EFI_ERROR (Status)) {
> - return EFI_DEVICE_ERROR;
> - }
> -
> - //
> - // Pass parameter into device register block
> - //
> - IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->Head, Device);
> -
> - //
> - // Fill the feature register, which is a two-byte FIFO. Need write twice.
> - //
> - Feature8 = (UINT8) (Feature >> 8);
> - IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->Reg1.Feature, Feature8);
> -
> - Feature8 = (UINT8) Feature;
> - IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->Reg1.Feature, Feature8);
> -
> - //
> - // Fill the sector count register, which is a two-byte FIFO. Need write twice.
> - //
> - SectorCount8 = (UINT8) (SectorCount >> 8);
> - IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->SectorCount,
> SectorCount8);
> -
> - SectorCount8 = (UINT8) SectorCount;
> - IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->SectorCount,
> SectorCount8);
> -
> - //
> - // Fill the start LBA registers, which are also two-byte FIFO
> - //
> - LbaLow = (UINT8) RShiftU64 (LbaAddress, 24);
> - LbaMid = (UINT8) RShiftU64 (LbaAddress, 32);
> - LbaHigh = (UINT8) RShiftU64 (LbaAddress, 40);
> - IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->SectorNumber, LbaLow);
> - IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->CylinderLsb, LbaMid);
> - IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->CylinderMsb, LbaHigh);
> -
> - LbaLow = (UINT8) LbaAddress;
> - LbaMid = (UINT8) RShiftU64 (LbaAddress, 8);
> - LbaHigh = (UINT8) RShiftU64 (LbaAddress, 16);
> - IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->SectorNumber, LbaLow);
> - IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->CylinderLsb, LbaMid);
> - IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->CylinderMsb, LbaHigh);
> -
> - //
> - // Send command via Command Register
> - //
> - IDEWritePortB (IdeDev->PciIo, IdeDev->IoPort->Reg.Command,
> AtaCommand);
> -
> - //
> - // Wait for command completion
> - //
> - Status = WaitForBSYClear (IdeDev, ATATIMEOUT);
> - if (EFI_ERROR (Status)) {
> - return EFI_DEVICE_ERROR;
> - }
> -
> - StatusRegister = IDEReadPortB (IdeDev->PciIo, IdeDev->IoPort-
> >Reg.Status);
> - if ((StatusRegister & ATA_STSREG_ERR) == ATA_STSREG_ERR) {
> - //
> - // Failed to execute command, abort operation
> - //
> - return EFI_ABORTED;
> - }
> -
> - return EFI_SUCCESS;
> -}
> -
>
>
> diff --git
> a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/DriverConfiguration.c
> b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/DriverConfiguration.c
> index 3a5d3c6f6b..8f72240386 100644
> --- a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/DriverConfiguration.c
> +++ b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/DriverConfiguration.c
> @@ -26,267 +26,6 @@ CHAR16 *OptionString[4] = { // // EFI Driver
> Configuration Protocol // -EFI_DRIVER_CONFIGURATION_PROTOCOL
> gIDEBusDriverConfiguration = {
> - IDEBusDriverConfigurationSetOptions,
> - IDEBusDriverConfigurationOptionsValid,
> - IDEBusDriverConfigurationForceDefaults,
> - "eng"
> -};
> -
> -/**
> - Interprete keyboard input.
> -
> - @retval EFI_ABORTED Get an 'ESC' key inputed.
> - @retval EFI_SUCCESS Get an 'Y' or 'y' inputed.
> - @retval EFI_NOT_FOUND Get an 'N' or 'n' inputed..
> -
> -**/
> -EFI_STATUS
> -GetResponse (
> - VOID
> - )
> -{
> - EFI_STATUS Status;
> - EFI_INPUT_KEY Key;
> -
> - while (TRUE) {
> - Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);
> - if (!EFI_ERROR (Status)) {
> - if (Key.ScanCode == SCAN_ESC) {
> - return EFI_ABORTED;
> - }
> -
> - switch (Key.UnicodeChar) {
> -
> - //
> - // fall through
> - //
> - case L'y':
> - case L'Y':
> - gST->ConOut->OutputString (gST->ConOut, L"Y\n");
> - return EFI_SUCCESS;
> -
> - //
> - // fall through
> - //
> - case L'n':
> - case L'N':
> - gST->ConOut->OutputString (gST->ConOut, L"N\n");
> - return EFI_NOT_FOUND;
> - }
> -
> - }
> - }
> -}
> -
> -/**
> - Allows the user to set controller specific options for a controller that a
> - driver is currently managing.
> -
> - @param This A pointer to the EFI_DRIVER_CONFIGURATION_
> PROTOCOL instance.
> - @param ControllerHandle The handle of the controller to set options on.
> - @param ChildHandle The handle of the child controller to set options on.
> - This is an optional parameter that may be NULL.
> - It will be NULL for device drivers, and for a bus drivers
> - that wish to set options for the bus controller.
> - It will not be NULL for a bus driver that wishes to set
> - options for one of its child controllers.
> - @param Language A pointer to a three character ISO 639-2 language
> identifier.
> - This is the language of the user interface that should be
> presented
> - to the user, and it must match one of the languages specified
> in
> - SupportedLanguages. The number of languages supported by
> a driver is up to
> - the driver writer.
> - @param ActionRequired A pointer to the action that the calling agent is
> required
> - to perform when this function returns.
> -
> -
> - @retval EFI_SUCCESS The driver specified by This successfully set the
> configuration
> - options for the controller specified by ControllerHandle..
> - @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid
> EFI_HANDLE.
> - @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a
> valid EFI_HANDLE.
> - @retval EFI_INVALID_PARAMETER ActionRequired is NULL.
> - @retval EFI_UNSUPPORTED The driver specified by This does not
> support setting configuration options for
> - the controller specified by ControllerHandle and
> ChildHandle.
> - @retval EFI_UNSUPPORTED The driver specified by This does not
> support the language specified by Language.
> - @retval EFI_DEVICE_ERROR A device error occurred while attempt to
> set the configuration options for the
> - controller specified by ControllerHandle and ChildHandle.
> - @retval EFI_OUT_RESOURCES There are not enough resources available
> to set the configuration options for the
> - controller specified by ControllerHandle and ChildHandle
> -**/
> -EFI_STATUS
> -EFIAPI
> -IDEBusDriverConfigurationSetOptions (
> - IN EFI_DRIVER_CONFIGURATION_PROTOCOL *This,
> - IN EFI_HANDLE ControllerHandle,
> - IN EFI_HANDLE ChildHandle OPTIONAL,
> - IN CHAR8 *Language,
> - OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED
> *ActionRequired
> - )
> -{
> - EFI_STATUS Status;
> - UINT8 Value;
> - UINT8 NewValue;
> - UINTN DataSize;
> - UINTN Index;
> -
> - if (ChildHandle != NULL) {
> - return EFI_UNSUPPORTED;
> - }
> -
> - *ActionRequired = EfiDriverConfigurationActionNone;
>
> - DataSize = sizeof (Value);
> - Status = gRT->GetVariable (
> - L"Configuration",
> - &gEfiCallerIdGuid,
> - NULL,
> - &DataSize,
> - &Value
> - );
> -
> - gST->ConOut->OutputString (gST->ConOut, L"IDE Bus Driver
> Configuration\n");
> - gST->ConOut->OutputString (gST->ConOut,
> L"===============================\n");
> -
> - NewValue = 0;
> - for (Index = 0; Index < 4; Index++) {
> - gST->ConOut->OutputString (gST->ConOut, OptionString[Index]);
> -
> - Status = GetResponse ();
> - if (Status == EFI_ABORTED) {
> - return EFI_SUCCESS;
> - }
> -
> - if (!EFI_ERROR (Status)) {
> - NewValue = (UINT8) (NewValue | (1 << Index));
> - }
> - }
> -
> - if (EFI_ERROR (Status) || (NewValue != Value)) {
> - gRT->SetVariable (
> - L"Configuration",
> - &gEfiCallerIdGuid,
> - EFI_VARIABLE_NON_VOLATILE |
> EFI_VARIABLE_BOOTSERVICE_ACCESS,
> - sizeof (NewValue),
> - &NewValue
> - );
> -
> - *ActionRequired = EfiDriverConfigurationActionRestartController;
> - } else {
> - *ActionRequired = EfiDriverConfigurationActionNone;
> - }
> -
> - return EFI_SUCCESS;
> -}
> -
> -/**
> - Tests to see if a controller's current configuration options are valid.
> -
> - @param This A pointer to the
> EFI_DRIVER_CONFIGURATION_PROTOCOL instance.
> - @param ControllerHandle The handle of the controller to test if it's current
> configuration options
> - are valid.
> - @param ChildHandle The handle of the child controller to test if it's
> current configuration
> - options are valid. This is an optional parameter that may be
> NULL. It will
> - be NULL for device drivers. It will also be NULL for a bus drivers
> that
> - wish to test the configuration options for the bus controller. It
> will
> - not be NULL for a bus driver that wishes to test configuration
> options for
> - one of its child controllers.
> - @retval EFI_SUCCESS The controller specified by ControllerHandle
> and ChildHandle that is being
> - managed by the driver specified by This has a valid set of
> configuration
> - options.
> - @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid
> EFI_HANDLE.
> - @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a
> valid EFI_HANDLE.
> - @retval EFI_UNSUPPORTED The driver specified by This is not currently
> managing the controller
> - specified by ControllerHandle and ChildHandle.
> - @retval EFI_DEVICE_ERROR The controller specified by ControllerHandle
> and ChildHandle that is being
> - managed by the driver specified by This has an invalid set of
> configuration
> - options.
> -**/
> -EFI_STATUS
> -EFIAPI
> -IDEBusDriverConfigurationOptionsValid (
> - IN EFI_DRIVER_CONFIGURATION_PROTOCOL *This,
> - IN EFI_HANDLE ControllerHandle,
> - IN EFI_HANDLE ChildHandle OPTIONAL
> - )
> -{
> - EFI_STATUS Status;
> - UINT8 Value;
> - UINTN DataSize;
> -
> - if (ChildHandle != NULL) {
> - return EFI_UNSUPPORTED;
> - }
> -
> - DataSize = sizeof (Value);
> - Status = gRT->GetVariable (
> - L"Configuration",
> - &gEfiCallerIdGuid,
> - NULL,
> - &DataSize,
> - &Value
> - );
> - if (EFI_ERROR (Status) || Value > 0x0f) {
> - return EFI_DEVICE_ERROR;
> - }
> -
> - return EFI_SUCCESS;
> -}
> -/**
> - Forces a driver to set the default configuration options for a controller.
> -
> - @param This A pointer to the EFI_DRIVER_CONFIGURATION_
> PROTOCOL instance.
> - @param ControllerHandle The handle of the controller to force default
> configuration options on.
> - @param ChildHandle The handle of the child controller to force default
> configuration
> - options on This is an optional parameter that may be NULL. It
> - will be NULL for device drivers. It will also be NULL for a bus
> - drivers that wish to force default configuration options for the
> bus
> - controller. It will not be NULL for a bus driver that wishes to
> force
> - default configuration options for one of its child controllers.
> - @param DefaultType The type of default configuration options to force
> on the controller
> - specified by ControllerHandle and ChildHandle.
> - @param ActionRequired A pointer to the action that the calling agent is
> required to perform
> - when this function returns.
> -
> - @retval EFI_SUCCESS The driver specified by This successfully forced
> the
> - default configuration options on the controller specified by
> - ControllerHandle and ChildHandle.
> - @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid
> EFI_HANDLE.
> - @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a
> valid EFI_HANDLE.
> - @retval EFI_INVALID_PARAMETER ActionRequired is NULL.
> - @retval EFI_UNSUPPORTED The driver specified by This does not
> support forcing the default
> - configuration options on the controller specified by
> ControllerHandle
> - and ChildHandle.
> - @retval EFI_UNSUPPORTED The driver specified by This does not
> support the configuration type
> - specified by DefaultType.
> - @retval EFI_DEVICE_ERROR A device error occurred while attempt to
> force the default configuration
> - options on the controller specified by ControllerHandle and
> ChildHandle.
> - @retval EFI_OUT_RESOURCES There are not enough resources available
> to force the default configuration
> - options on the controller specified by ControllerHandle and
> ChildHandle.
> -**/
> -EFI_STATUS
> -EFIAPI
> -IDEBusDriverConfigurationForceDefaults (
> - IN EFI_DRIVER_CONFIGURATION_PROTOCOL *This,
> - IN EFI_HANDLE ControllerHandle,
> - IN EFI_HANDLE ChildHandle OPTIONAL,
> - IN UINT32 DefaultType,
> - OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED
> *ActionRequired
> - )
> -{
> - UINT8 Value;
>
> - if (ChildHandle != NULL) {
> - return EFI_UNSUPPORTED;
> - }
>
> - Value = 0x0f;
> - gRT->SetVariable (
> - L"Configuration",
> - &gEfiCallerIdGuid,
> - EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
> - sizeof (Value),
> - &Value
> - );
> - *ActionRequired = EfiDriverConfigurationActionRestartController;
> - return EFI_SUCCESS;
> -}
> diff --git a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ide.h
> b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ide.h
> index 0fe6c6d502..5d2bf2cacd 100644
> --- a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ide.h
> +++ b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/Ide.h
> @@ -768,30 +768,6 @@ AtaNonDataCommandIn (
> IN UINT8 LbaHigh
> );
>
> -/**
> - Send ATA Ext command into device with NON_DATA protocol.
> -
> - @param IdeDev Standard IDE device private data structure
> - @param AtaCommand The ATA command to be sent
> - @param Device The value in Device register
> - @param Feature The value in Feature register
> - @param SectorCount The value in SectorCount register
> - @param LbaAddress The Lba address in 48-bit mode
> -
> - @retval EFI_SUCCESS Reading succeed
> - @retval EFI_ABORTED Command failed
> - @retval EFI_DEVICE_ERROR Device status error.
> -
> -**/
> -EFI_STATUS
> -AtaNonDataCommandInExt (
> - IN IDE_BLK_IO_DEV *IdeDev,
> - IN UINT8 AtaCommand,
> - IN UINT8 Device,
> - IN UINT16 Feature,
> - IN UINT16 SectorCount,
> - IN EFI_LBA LbaAddress
> - );
> /**
> Enable Long Physical Sector Feature for ATA device.
>
> diff --git a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.h
> b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.h
> index 7ec872275d..830661e39a 100644
> --- a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.h
> +++ b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.h
> @@ -180,122 +180,9 @@ IDEBusDriverBindingStop ( // // EFI Driver
> Configuration Functions //
> -/**
> - Allows the user to set controller specific options for a controller that a
> - driver is currently managing.
> -
> - @param This A pointer to the EFI_DRIVER_CONFIGURATION_
> PROTOCOL instance.
> - @param ControllerHandle The handle of the controller to set options on.
> - @param ChildHandle The handle of the child controller to set options on.
> - This is an optional parameter that may be NULL.
> - It will be NULL for device drivers, and for a bus drivers
> - that wish to set options for the bus controller.
> - It will not be NULL for a bus driver that wishes to set
> - options for one of its child controllers.
> - @param Language A pointer to a three character ISO 639-2 language
> identifier.
> - This is the language of the user interface that should be
> presented
> - to the user, and it must match one of the languages specified
> in
> - SupportedLanguages. The number of languages supported by
> a driver is up to
> - the driver writer.
> - @param ActionRequired A pointer to the action that the calling agent is
> required
> - to perform when this function returns.
> -
> -
> - @retval EFI_SUCCESS The driver specified by This successfully set the
> configuration
> - options for the controller specified by ControllerHandle..
> - @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid
> EFI_HANDLE.
> - @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a
> valid EFI_HANDLE.
> - @retval EFI_INVALID_PARAMETER ActionRequired is NULL.
> - @retval EFI_UNSUPPORTED The driver specified by This does not
> support setting configuration options for
> - the controller specified by ControllerHandle and
> ChildHandle.
> - @retval EFI_UNSUPPORTED The driver specified by This does not
> support the language specified by Language.
> - @retval EFI_DEVICE_ERROR A device error occurred while attempt to
> set the configuration options for the
> - controller specified by ControllerHandle and ChildHandle.
> - @retval EFI_OUT_RESOURCES There are not enough resources available
> to set the configuration options for the
> - controller specified by ControllerHandle and ChildHandle
> -**/
> -EFI_STATUS
> -EFIAPI
> -IDEBusDriverConfigurationSetOptions (
> - IN EFI_DRIVER_CONFIGURATION_PROTOCOL *This,
> - IN EFI_HANDLE ControllerHandle,
> - IN EFI_HANDLE ChildHandle OPTIONAL,
> - IN CHAR8 *Language,
> - OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED
> *ActionRequired
> - );
>
> -/**
> - Tests to see if a controller's current configuration options are valid.
> -
> - @param This A pointer to the
> EFI_DRIVER_CONFIGURATION_PROTOCOL instance.
> - @param ControllerHandle The handle of the controller to test if it's current
> configuration options
> - are valid.
> - @param ChildHandle The handle of the child controller to test if it's
> current configuration
> - options are valid. This is an optional parameter that may be
> NULL. It will
> - be NULL for device drivers. It will also be NULL for a bus drivers
> that
> - wish to test the configuration options for the bus controller. It
> will
> - not be NULL for a bus driver that wishes to test configuration
> options for
> - one of its child controllers.
> - @retval EFI_SUCCESS The controller specified by ControllerHandle
> and ChildHandle that is being
> - managed by the driver specified by This has a valid set of
> configuration
> - options.
> - @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid
> EFI_HANDLE.
> - @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a
> valid EFI_HANDLE.
> - @retval EFI_UNSUPPORTED The driver specified by This is not currently
> managing the controller
> - specified by ControllerHandle and ChildHandle.
> - @retval EFI_DEVICE_ERROR The controller specified by ControllerHandle
> and ChildHandle that is being
> - managed by the driver specified by This has an invalid set of
> configuration
> - options.
> -**/
> -EFI_STATUS
> -EFIAPI
> -IDEBusDriverConfigurationOptionsValid (
> - IN EFI_DRIVER_CONFIGURATION_PROTOCOL *This,
> - IN EFI_HANDLE ControllerHandle,
> - IN EFI_HANDLE ChildHandle OPTIONAL
> - );
>
> -/**
> - Forces a driver to set the default configuration options for a controller.
> -
> - @param This A pointer to the EFI_DRIVER_CONFIGURATION_
> PROTOCOL instance.
> - @param ControllerHandle The handle of the controller to force default
> configuration options on.
> - @param ChildHandle The handle of the child controller to force default
> configuration
> - options on This is an optional parameter that may be NULL. It
> - will be NULL for device drivers. It will also be NULL for a bus
> - drivers that wish to force default configuration options for the
> bus
> - controller. It will not be NULL for a bus driver that wishes to
> force
> - default configuration options for one of its child controllers.
> - @param DefaultType The type of default configuration options to force
> on the controller
> - specified by ControllerHandle and ChildHandle.
> - @param ActionRequired A pointer to the action that the calling agent is
> required to perform
> - when this function returns.
>
> - @retval EFI_SUCCESS The driver specified by This successfully forced
> the
> - default configuration options on the controller specified by
> - ControllerHandle and ChildHandle.
> - @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid
> EFI_HANDLE.
> - @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a
> valid EFI_HANDLE.
> - @retval EFI_INVALID_PARAMETER ActionRequired is NULL.
> - @retval EFI_UNSUPPORTED The driver specified by This does not
> support forcing the default
> - configuration options on the controller specified by
> ControllerHandle
> - and ChildHandle.
> - @retval EFI_UNSUPPORTED The driver specified by This does not
> support the configuration type
> - specified by DefaultType.
> - @retval EFI_DEVICE_ERROR A device error occurred while attempt to
> force the default configuration
> - options on the controller specified by ControllerHandle and
> ChildHandle.
> - @retval EFI_OUT_RESOURCES There are not enough resources available
> to force the default configuration
> - options on the controller specified by ControllerHandle and
> ChildHandle.
> -**/
> -EFI_STATUS
> -EFIAPI
> -IDEBusDriverConfigurationForceDefaults (
> - IN EFI_DRIVER_CONFIGURATION_PROTOCOL *This,
> - IN EFI_HANDLE ControllerHandle,
> - IN EFI_HANDLE ChildHandle OPTIONAL,
> - IN UINT32 DefaultType,
> - OUT EFI_DRIVER_CONFIGURATION_ACTION_REQUIRED
> *ActionRequired
> - );
>
> //
> // EFI Driver Diagnostics Functions
> --
> 2.18.0.windows.1
>
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
© 2016 - 2026 Red Hat, Inc.