On Sat, Oct 20, 2018 at 03:57:38AM +0200, Marcin Wojtas wrote:
> Hitherto I2c solution used same macros, defined in multiple
> places. Move them to a new common header.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Marcin Wojtas <[email protected]>

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

> ---
>  Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.h | 10 -------
>  Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.h       | 17 ++---------
>  Silicon/Marvell/Include/Protocol/MvI2c.h              | 31 
> ++++++++++++++++++++
>  Silicon/Marvell/Applications/EepromCmd/EepromCmd.c    |  5 +---
>  Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.c |  3 +-
>  Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.c       |  4 +--
>  6 files changed, 37 insertions(+), 33 deletions(-)
>  create mode 100644 Silicon/Marvell/Include/Protocol/MvI2c.h
> 
> diff --git a/Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.h 
> b/Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.h
> index b1af645..c32ee48 100644
> --- a/Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.h
> +++ b/Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.h
> @@ -41,16 +41,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 
> DAMAGE.
>  
>  #define MAX_BUFFER_LENGTH 64
>  
> -/*
> - * I2C_FLAG_NORESTART is not part of PI spec, it allows to continue
> - * transmission without repeated start operation.
> - * FIXME: This flag is also defined in Drivers/I2c/MvI2cDxe/MvI2cDxe.h
> - * and it's important to have both version synced. This solution is
> - * temporary and shared flag should be used by both files.
> - * Situation is analogous with I2C_GUID, which also should be common, but is
> - * for now defined same way in two header files.
> - */
> -#define I2C_FLAG_NORESTART 0x00000002
>  #define I2C_GUID \
>    { \
>    0xadc1901b, 0xb83c, 0x4831, { 0x8f, 0x59, 0x70, 0x89, 0x8f, 0x26, 0x57, 
> 0x1e } \
> diff --git a/Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.h 
> b/Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.h
> index 3c9beaf..6850c34 100644
> --- a/Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.h
> +++ b/Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.h
> @@ -32,8 +32,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>  
>  
> *******************************************************************************/
>  
> -#ifndef __MV_I2C_H__
> -#define __MV_I2C_H__
> +#ifndef __MV_I2C_DXE_H__
> +#define __MV_I2C_DXE_H__
>  
>  #include <Uefi.h>
>  
> @@ -75,17 +75,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 
> DAMAGE.
>  #define I2C_FAST           0x2
>  #define I2C_FASTEST        0x3
>  
> -/*
> - * I2C_FLAG_NORESTART is not part of PI spec, it allows to continue
> - * transmission without repeated start operation.
> - * FIXME: This flag is also defined in
> - * Platforms/Marvell/Include/Protocol/Eeprom.h and it's important to have 
> both
> - * version synced. This solution is temporary and shared flag should be used 
> by
> - * both files.
> - * Situation is analogous with I2C_GUID, which also should be common, but is
> - * for now defined same way in two header files.
> - */
> -#define I2C_FLAG_NORESTART 0x00000002
>  #define I2C_GUID \
>    { \
>    0xadc1901b, 0xb83c, 0x4831, { 0x8f, 0x59, 0x70, 0x89, 0x8f, 0x26, 0x57, 
> 0x1e } \
> @@ -266,4 +255,4 @@ MvI2cEnableConf (
>    IN EFI_STATUS                                          *I2cStatus OPTIONAL
>    );
>  
> -#endif // __MV_I2C_H__
> +#endif // __MV_I2C_DXE_H__
> diff --git a/Silicon/Marvell/Include/Protocol/MvI2c.h 
> b/Silicon/Marvell/Include/Protocol/MvI2c.h
> new file mode 100644
> index 0000000..d8e644e
> --- /dev/null
> +++ b/Silicon/Marvell/Include/Protocol/MvI2c.h
> @@ -0,0 +1,31 @@
> +/**
> +*
> +*  Copyright (c) 2018, Marvell International Ltd. All rights reserved.
> +*
> +*  This program and the accompanying materials are licensed and made 
> available
> +*  under the terms and conditions of the BSD License which accompanies this
> +*  distribution. The full text of the license may be found at
> +*  http://opensource.org/licenses/bsd-license.php
> +*
> +*  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> +*  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> IMPLIED.
> +*
> +**/
> +#ifndef __MV_I2C_H__
> +#define __MV_I2C_H__
> +
> +/*
> + * I2C_FLAG_NORESTART is not part of PI spec, it allows to continue
> + * transmission without repeated start operation.
> + */
> +#define I2C_FLAG_NORESTART             0x00000002
> +
> +/*
> + * Helper macros for maintaining multiple I2C buses
> + * and devices defined via EFI_I2C_DEVICE.
> + */
> +#define I2C_DEVICE_ADDRESS(Index)      ((Index) & MAX_UINT16)
> +#define I2C_DEVICE_BUS(Index)          ((Index) >> 16)
> +#define I2C_DEVICE_INDEX(Bus, Address) (((Address) & MAX_UINT16) | (Bus) << 
> 16)
> +
> +#endif
> diff --git a/Silicon/Marvell/Applications/EepromCmd/EepromCmd.c 
> b/Silicon/Marvell/Applications/EepromCmd/EepromCmd.c
> index f43e411..a390f23 100644
> --- a/Silicon/Marvell/Applications/EepromCmd/EepromCmd.c
> +++ b/Silicon/Marvell/Applications/EepromCmd/EepromCmd.c
> @@ -52,10 +52,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH 
> DAMAGE.
>  #include <Library/UefiBootServicesTableLib.h>
>  
>  #include <Protocol/Eeprom.h>
> -
> -#define I2C_DEVICE_INDEX(bus, address) (((address) & 0xffff) | (bus) << 16)
> -#define I2C_DEVICE_ADDRESS(index) ((index) & 0xffff)
> -#define I2C_DEVICE_BUS(index) ((index) >> 16)
> +#include <Protocol/MvI2c.h>
>  
>  CONST CHAR16 ShellEepromFileName[] = L"ShellCommand";
>  EFI_HANDLE ShellEepromHiiHandle = NULL;
> diff --git a/Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.c 
> b/Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.c
> index 9d2f650..90d0d1e 100644
> --- a/Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.c
> +++ b/Silicon/Marvell/Drivers/I2c/MvEepromDxe/MvEepromDxe.c
> @@ -35,6 +35,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>  #include <Protocol/DriverBinding.h>
>  #include <Protocol/I2cIo.h>
>  #include <Protocol/Eeprom.h>
> +#include <Protocol/MvI2c.h>
>  
>  #include <Library/BaseLib.h>
>  #include <Library/BaseMemoryLib.h>
> @@ -49,8 +50,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>  
>  #include "MvEepromDxe.h"
>  
> -#define I2C_DEVICE_INDEX(bus, address) (((address) & 0xffff) | (bus) << 16)
> -
>  STATIC CONST EFI_GUID I2cGuid = I2C_GUID;
>  
>  EFI_DRIVER_BINDING_PROTOCOL gDriverBindingProtocol = {
> diff --git a/Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.c 
> b/Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.c
> index 9ec4929..582e2b9 100755
> --- a/Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.c
> +++ b/Silicon/Marvell/Drivers/I2c/MvI2cDxe/MvI2cDxe.c
> @@ -37,6 +37,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>  #include <Protocol/I2cEnumerate.h>
>  #include <Protocol/I2cBusConfigurationManagement.h>
>  #include <Protocol/DevicePath.h>
> +#include <Protocol/MvI2c.h>
>  
>  #include <Library/BaseLib.h>
>  #include <Library/IoLib.h>
> @@ -628,9 +629,6 @@ MvI2cStartRequest (
>  
>  STATIC CONST EFI_GUID DevGuid = I2C_GUID;
>  
> -#define I2C_DEVICE_INDEX(bus, address) (((address) & 0xffff) | (bus) << 16)
> -#define I2C_DEVICE_ADDRESS(index) ((index) & 0xffff)
> -
>  STATIC
>  EFI_STATUS
>  MvI2cAllocDevice (
> -- 
> 2.7.4
> 
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to