On Thu, Jan 25, 2018 at 12:27:33PM +0000, Ard Biesheuvel wrote:
> To ensure that the I2C master protocol is installed immediately onto
> the handles created by PlatformDxe in its entry point, force the
> SynQuacerI2cDxe driver to be loaded before PlatformDxe. These handles
> are recursively connected by the DXE core as soon as they appear, and
> so ensuring that the I2C master protocol driver is available at this
> time will ensure that these handles will be connected to it right away.
> 
> This is useful when implementations of architectural protocols such as
> RTC or the EFI variable store, which should become available long before
> the ordinary dispatch of UEFI driver model drivers is started at the end
> of DXE, are based on I2C.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Ard Biesheuvel <[email protected]>

Reviewed-by: Leif Lindholm <[email protected]>

> ---
>  Silicon/Socionext/SynQuacer/Drivers/PlatformDxe/PlatformDxe.inf         | 2 
> +-
>  Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.inf | 2 
> +-
>  Silicon/Socionext/SynQuacer/SynQuacer.dec                               | 2 
> ++
>  3 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/Silicon/Socionext/SynQuacer/Drivers/PlatformDxe/PlatformDxe.inf 
> b/Silicon/Socionext/SynQuacer/Drivers/PlatformDxe/PlatformDxe.inf
> index 4d6a1d637922..f075957d7456 100644
> --- a/Silicon/Socionext/SynQuacer/Drivers/PlatformDxe/PlatformDxe.inf
> +++ b/Silicon/Socionext/SynQuacer/Drivers/PlatformDxe/PlatformDxe.inf
> @@ -17,7 +17,7 @@
>  [Defines]
>    INF_VERSION                    = 0x0001001A
>    BASE_NAME                      = PlatformDxe
> -  FILE_GUID                      = ac422cc1-d916-489a-b165-536fdfc633c2
> +  FILE_GUID                      = ac422cc1-d916-489a-b165-536fdfc633c2 # 
> gSynQuacerPlatformDxeFileGuid
>    MODULE_TYPE                    = DXE_DRIVER
>    VERSION_STRING                 = 1.0
>    ENTRY_POINT                    = PlatformDxeEntryPoint
> diff --git 
> a/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.inf 
> b/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.inf
> index fa715366878c..325816ba0b88 100644
> --- a/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.inf
> +++ b/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.inf
> @@ -56,4 +56,4 @@ [FixedPcd]
>    gSynQuacerTokenSpaceGuid.PcdI2cReferenceClock
>  
>  [Depex]
> -  TRUE
> +  BEFORE gSynQuacerPlatformDxeFileGuid
> diff --git a/Silicon/Socionext/SynQuacer/SynQuacer.dec 
> b/Silicon/Socionext/SynQuacer/SynQuacer.dec
> index a21f12b5bc32..76529e3c2164 100644
> --- a/Silicon/Socionext/SynQuacer/SynQuacer.dec
> +++ b/Silicon/Socionext/SynQuacer/SynQuacer.dec
> @@ -25,6 +25,8 @@ [Guids]
>    gSynQuacerNonDiscoverableI2cMasterGuid = { 0x364ee675, 0x9e44, 0x42b7, { 
> 0xa5, 0xe4, 0x92, 0x84, 0xdb, 0x85, 0xda, 0x09 } }
>    gSynQuacerNonDiscoverableRuntimeI2cMasterGuid = { 0x5f35aa9b, 0x8c6f, 
> 0x4828, { 0xbd, 0x44, 0x7c, 0xc0, 0xeb, 0x2d, 0xfe, 0xb9 } }
>  
> +  gSynQuacerPlatformDxeFileGuid = { 0xac422cc1, 0xd916, 0x489a, { 0xb1, 
> 0x65, 0x53, 0x6f, 0xdf, 0xc6, 0x33, 0xc2 } }
> +
>  [Ppis]
>    gSynQuacerDramInfoPpiGuid = { 0x3e1d7356, 0xdda4, 0x4b1a, { 0x93, 0x46, 
> 0xbf, 0x89, 0x1c, 0x86, 0x46, 0xcc } }
>  
> -- 
> 2.11.0
> 
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to