[edk2] [PATCH 3/6] IntelFrameworkModulePkg IdeBusDxe: Remove redundant functions

shenglei posted 6 patches 6 years, 3 months ago
[edk2] [PATCH 3/6] IntelFrameworkModulePkg IdeBusDxe: Remove redundant functions
Posted by shenglei 6 years, 3 months ago
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
Re: [edk2] [PATCH 3/6] IntelFrameworkModulePkg IdeBusDxe: Remove redundant functions
Posted by Ni, Ruiyu 6 years, 3 months ago
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