Reviewed-by: Ruiyu Ni <[email protected]>

Thanks/Ray

> -----Original Message-----
> From: edk2-devel <[email protected]> On Behalf Of shenglei
> Sent: Wednesday, August 8, 2018 11:09 AM
> To: [email protected]
> Cc: Gao, Liming <[email protected]>
> 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 <[email protected]>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: shenglei <[email protected]>
> ---
>  .../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
> [email protected]
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to