]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg/SdMmcPciHcDxe: Add an optional parameter in NotifyPhase
authorMarcin Wojtas <mw@semihalf.com>
Fri, 9 Nov 2018 23:01:24 +0000 (07:01 +0800)
committerHao Wu <hao.a.wu@intel.com>
Tue, 20 Nov 2018 05:46:57 +0000 (13:46 +0800)
In order to ensure bigger flexibility in the NotifyPhase
routine of the SdMmcOverride protocol, enable using an
optional phase-specific data. This will allow to exchange
more information between the protocol producer driver
and SdMmcPciHcDxe in the newly added callbacks.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHci.c
MdeModulePkg/Include/Protocol/SdMmcOverride.h

index bedc96863cc3ca13327cd919aaa0186574478ac1..923c55bbbe877832185b8329083cbdba643e0c8f 100644 (file)
@@ -444,7 +444,8 @@ SdMmcHcReset (
     Status = mOverride->NotifyPhase (\r
                           Private->ControllerHandle,\r
                           Slot,\r
-                          EdkiiSdMmcResetPre);\r
+                          EdkiiSdMmcResetPre,\r
+                          NULL);\r
     if (EFI_ERROR (Status)) {\r
       DEBUG ((DEBUG_WARN,\r
         "%a: SD/MMC pre reset notifier callback failed - %r\n",\r
@@ -494,7 +495,8 @@ SdMmcHcReset (
     Status = mOverride->NotifyPhase (\r
                           Private->ControllerHandle,\r
                           Slot,\r
-                          EdkiiSdMmcResetPost);\r
+                          EdkiiSdMmcResetPost,\r
+                          NULL);\r
     if (EFI_ERROR (Status)) {\r
       DEBUG ((DEBUG_WARN,\r
         "%a: SD/MMC post reset notifier callback failed - %r\n",\r
@@ -1088,7 +1090,8 @@ SdMmcHcInitHost (
     Status = mOverride->NotifyPhase (\r
                           Private->ControllerHandle,\r
                           Slot,\r
-                          EdkiiSdMmcInitHostPre);\r
+                          EdkiiSdMmcInitHostPre,\r
+                          NULL);\r
     if (EFI_ERROR (Status)) {\r
       DEBUG ((DEBUG_WARN,\r
         "%a: SD/MMC pre init notifier callback failed - %r\n",\r
@@ -1123,7 +1126,8 @@ SdMmcHcInitHost (
     Status = mOverride->NotifyPhase (\r
                           Private->ControllerHandle,\r
                           Slot,\r
-                          EdkiiSdMmcInitHostPost);\r
+                          EdkiiSdMmcInitHostPost,\r
+                          NULL);\r
     if (EFI_ERROR (Status)) {\r
       DEBUG ((DEBUG_WARN,\r
         "%a: SD/MMC post init notifier callback failed - %r\n",\r
index 0766252e561277f45bc3813d0e4b872b90c6c985..8a7669e3108f36797b0f0db9b5f23e6afd355682 100644 (file)
@@ -63,6 +63,7 @@ EFI_STATUS
   @param[in]      PhaseType             The type of operation and whether the\r
                                         hook is invoked right before (pre) or\r
                                         right after (post)\r
+  @param[in,out]  PhaseData             The pointer to a phase-specific data.\r
 \r
   @retval EFI_SUCCESS           The override function completed successfully.\r
   @retval EFI_NOT_FOUND         The specified controller or slot does not exist.\r
@@ -74,7 +75,8 @@ EFI_STATUS
 (EFIAPI * EDKII_SD_MMC_NOTIFY_PHASE) (\r
   IN      EFI_HANDLE                      ControllerHandle,\r
   IN      UINT8                           Slot,\r
-  IN      EDKII_SD_MMC_PHASE_TYPE         PhaseType\r
+  IN      EDKII_SD_MMC_PHASE_TYPE         PhaseType,\r
+  IN OUT  VOID                           *PhaseData\r
   );\r
 \r
 struct _EDKII_SD_MMC_OVERRIDE {\r