Re: [edk2] [platforms: PATCH v3 00/12] Armada 7k8k GPIO support

2019-01-17 Thread Marcin Wojtas
Hi Leif,

czw., 17 sty 2019 o 13:04 Leif Lindholm  napisaƂ(a):
>
> So, I was about to say that apart from the "class" to be deleted from
> 3/12 subject line, things were fine so I was going to fix that locally
> and push.
>
> However. 3/12 is missing the Contributed-under tag.
> Can you please separately confirm that it is intended to be
> contributed under TianoCore Contribution Agreement 1.1?
>

Sure, done. Please let know if I should resubmit.

Best regards,
Marcin

> / 
> Leif
>
> On Thu, Jan 17, 2019 at 12:15:03PM +0100, Marcin Wojtas wrote:
> > Hi,
> >
> > I submit v3 of the GPIO patchset for the Marvell SoCs.
> > The changes are not significant and they address all the comments
> > from the previous version. Please find the details in the changelog
> > below.
> >
> > Patches are available in the github:
> > https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/gpio-upstream-r20190117
> >
> > I am looking forward to your feedback.
> >
> > Best regards,
> > Marcin
> >
> > Changelog:
> > v2->v3:
> > * 1,2,4,12/12
> >- Add Leif's RB
> >
> > * 3/12
> >   - Change MvGpio.h to be library header (Library/MvGpioLib.h)
> >   - Introduce MvGpioLib library
> >   - Add PCA_ID enums in this patch (instead from PCA9xxx addition)
> >
> > * 5,6/12
> >   - Use PCA_ID enum from the beginning
> >
> > * 7/12
> >   - Use static global variable and allocate it only only once
> >   - s/I2C/GPIO/
> >
> > * 8/12
> >   - Simplify error path after changing approach to not freeing
> > already allocated GpioDescription in MvBoardDescDxe
> >   - Change signature to non-generic
> >
> > * 10/12
> >   - Simplify error path after changing approach to not freeing
> > already allocated GpioDescription in MvBoardDescDxe
> >   - No need to update PCA_ID in this patch
> >
> > v1->v2:
> > * All
> >   - rebase on top of the master branch and Xenon changes
> >
> > * 1/12
> >   - s/AP/AP806/ in order to avoid confusion
> >   - drop desc/DESC usage and improve variables naming
> >   - use GPIO_CONTROLLER from EmbeddedGpio.h instead of custom MV_SOC_GPIO
> >   - update commit message
> >
> > * 2,3,4,5/12
> >   - drop desc/DESC usage and improve variables naming
> >   - drop reference to I2c and use GpioExpander
> >   - improve commit logs
> >
> > * 6/12
> >   - drop desc/DESC usage and improve variables naming
> >   - drop reference to I2c and use GpioExpander
> >   - remove global variable - same as for other interfaces the consumer
> > is responsible for avoiding memory leak
> >
> > * 7/12
> >   - use MV_GPIO_ prefix
> >   - switch to EMBEDDED_GPIO
> >   - remove custom Marvell GPIO Protocol and types
> >   - add subroutine to MvGpioGetProtocol and more coments to clarify the code
> >   - add driver types and related enums in other commits
> >
> > * 8/12
> >   - extend error path in the entry point, rename variables
> >   - use MV_GPIO_ prefix
> >   - switch to EMBEDDED_GPIO
> >   - remove custom Marvell GPIO Protocol and types
> >   - replace '!!' expression for obtaining pin state
> >   - remove BIT() macro
> >   - use generic mDevicePathTemplate name
> >   - put validate function under '#if !defined(MDEPKG_NDEBUG)' and
> >  call from inside ASSERT_EFI_ERROR, add comment
> >   - update commit message
> >   - add common enum for describing controllers
> >   - change authorship
> >
> > - 9/12
> >   - Add Leif's RB
> >
> > * 10/12
> >   - same modifications as 8/12
> >   - use I2C flags directly and remove PCA95XX_OPERATION enum
> >   - add common enum for describing controllers
> >
> > * 11/12
> >   - Add Leif's RB
> >
> > * 12/12
> >   - Add local headers
> >   - Make STATIC names more generic
> >   - s/GetInitializerForType/NonDiscoverableDeviceInitializerGet/
> >   - Use global enum for McBin GPIO controller
> >
> >
> > Marcin Wojtas (12):
> >   Marvell/Library: ArmadaSoCDescLib: Add GPIO information
> >   Marvell/Library: ArmadaBoardDescLib: Add GPIO information
> >   Marvell/Library: Introduce MvGpioLib class
> >   SolidRun/Armada80x0McBin: Extend board description library with GPIO
> >   Marvell/Armada70x0Db: Extend board description library with GPIO
> >   Marvell/Armada80x0Db: Extend board description library with GPIO
> >   Marvell/Drivers: MvBoardDesc: Extend protocol with GPIO support
> >   Marvell/Drivers: MvGpioDxe: Introduce platform GPIO driver
> >   Marvell/Drivers: I2c: Use common header for macros
> >   Marvell/Drivers: MvPca95xxDxe: Introduce GPIO expander driver
> >   Marvell/Armada7k8k: Enable GPIO drivers compilation
> >   Marvell/Armada7k8k: Introduce NonDiscoverable device init routines
> >
> >  Silicon/Marvell/Marvell.dec
> >|   2 +
> >  Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc  
> >|   3 +
> >  Platform/Marvell/Armada70x0Db/Armada70x0Db.dsc   

Re: [edk2] [platforms: PATCH v3 00/12] Armada 7k8k GPIO support

2019-01-17 Thread Leif Lindholm
So, I was about to say that apart from the "class" to be deleted from
3/12 subject line, things were fine so I was going to fix that locally
and push.

However. 3/12 is missing the Contributed-under tag.
Can you please separately confirm that it is intended to be
contributed under TianoCore Contribution Agreement 1.1?

/   
  Leif

On Thu, Jan 17, 2019 at 12:15:03PM +0100, Marcin Wojtas wrote:
> Hi,
> 
> I submit v3 of the GPIO patchset for the Marvell SoCs.
> The changes are not significant and they address all the comments
> from the previous version. Please find the details in the changelog
> below.
> 
> Patches are available in the github:
> https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/gpio-upstream-r20190117
> 
> I am looking forward to your feedback.
> 
> Best regards,
> Marcin
> 
> Changelog:
> v2->v3:
> * 1,2,4,12/12
>- Add Leif's RB  
> 
> * 3/12
>   - Change MvGpio.h to be library header (Library/MvGpioLib.h)
>   - Introduce MvGpioLib library
>   - Add PCA_ID enums in this patch (instead from PCA9xxx addition)
> 
> * 5,6/12
>   - Use PCA_ID enum from the beginning
> 
> * 7/12
>   - Use static global variable and allocate it only only once
>   - s/I2C/GPIO/
> 
> * 8/12
>   - Simplify error path after changing approach to not freeing
> already allocated GpioDescription in MvBoardDescDxe
>   - Change signature to non-generic
> 
> * 10/12
>   - Simplify error path after changing approach to not freeing
> already allocated GpioDescription in MvBoardDescDxe
>   - No need to update PCA_ID in this patch
> 
> v1->v2:
> * All
>   - rebase on top of the master branch and Xenon changes
> 
> * 1/12
>   - s/AP/AP806/ in order to avoid confusion
>   - drop desc/DESC usage and improve variables naming
>   - use GPIO_CONTROLLER from EmbeddedGpio.h instead of custom MV_SOC_GPIO
>   - update commit message
> 
> * 2,3,4,5/12
>   - drop desc/DESC usage and improve variables naming
>   - drop reference to I2c and use GpioExpander
>   - improve commit logs
> 
> * 6/12
>   - drop desc/DESC usage and improve variables naming
>   - drop reference to I2c and use GpioExpander
>   - remove global variable - same as for other interfaces the consumer
> is responsible for avoiding memory leak
> 
> * 7/12
>   - use MV_GPIO_ prefix
>   - switch to EMBEDDED_GPIO
>   - remove custom Marvell GPIO Protocol and types
>   - add subroutine to MvGpioGetProtocol and more coments to clarify the code
>   - add driver types and related enums in other commits
> 
> * 8/12
>   - extend error path in the entry point, rename variables
>   - use MV_GPIO_ prefix
>   - switch to EMBEDDED_GPIO
>   - remove custom Marvell GPIO Protocol and types
>   - replace '!!' expression for obtaining pin state
>   - remove BIT() macro
>   - use generic mDevicePathTemplate name
>   - put validate function under '#if !defined(MDEPKG_NDEBUG)' and
>  call from inside ASSERT_EFI_ERROR, add comment
>   - update commit message
>   - add common enum for describing controllers
>   - change authorship
> 
> - 9/12
>   - Add Leif's RB
> 
> * 10/12
>   - same modifications as 8/12
>   - use I2C flags directly and remove PCA95XX_OPERATION enum
>   - add common enum for describing controllers
> 
> * 11/12
>   - Add Leif's RB
> 
> * 12/12
>   - Add local headers
>   - Make STATIC names more generic
>   - s/GetInitializerForType/NonDiscoverableDeviceInitializerGet/
>   - Use global enum for McBin GPIO controller
> 
> 
> Marcin Wojtas (12):
>   Marvell/Library: ArmadaSoCDescLib: Add GPIO information
>   Marvell/Library: ArmadaBoardDescLib: Add GPIO information
>   Marvell/Library: Introduce MvGpioLib class
>   SolidRun/Armada80x0McBin: Extend board description library with GPIO
>   Marvell/Armada70x0Db: Extend board description library with GPIO
>   Marvell/Armada80x0Db: Extend board description library with GPIO
>   Marvell/Drivers: MvBoardDesc: Extend protocol with GPIO support
>   Marvell/Drivers: MvGpioDxe: Introduce platform GPIO driver
>   Marvell/Drivers: I2c: Use common header for macros
>   Marvell/Drivers: MvPca95xxDxe: Introduce GPIO expander driver
>   Marvell/Armada7k8k: Enable GPIO drivers compilation
>   Marvell/Armada7k8k: Introduce NonDiscoverable device init routines
> 
>  Silicon/Marvell/Marvell.dec  
>  |   2 +
>  Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc
>  |   3 +
>  Platform/Marvell/Armada70x0Db/Armada70x0Db.dsc   
>  |   7 +-
>  Platform/Marvell/Armada80x0Db/Armada80x0Db.dsc   
>  |   3 +
>  Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc
>  |   3 +
>  
> Platform/Marvell/Armada70x0Db/Armada70x0DbBoardDescLib/Armada70x0DbBoardDescLib.inf
>|   1 +
>

[edk2] [platforms: PATCH v3 00/12] Armada 7k8k GPIO support

2019-01-17 Thread Marcin Wojtas
Hi,

I submit v3 of the GPIO patchset for the Marvell SoCs.
The changes are not significant and they address all the comments
from the previous version. Please find the details in the changelog
below.

Patches are available in the github:
https://github.com/MarvellEmbeddedProcessors/edk2-open-platform/commits/gpio-upstream-r20190117

I am looking forward to your feedback.

Best regards,
Marcin

Changelog:
v2->v3:
* 1,2,4,12/12
   - Add Leif's RB  

* 3/12
  - Change MvGpio.h to be library header (Library/MvGpioLib.h)
  - Introduce MvGpioLib library
  - Add PCA_ID enums in this patch (instead from PCA9xxx addition)

* 5,6/12
  - Use PCA_ID enum from the beginning

* 7/12
  - Use static global variable and allocate it only only once
  - s/I2C/GPIO/

* 8/12
  - Simplify error path after changing approach to not freeing
already allocated GpioDescription in MvBoardDescDxe
  - Change signature to non-generic

* 10/12
  - Simplify error path after changing approach to not freeing
already allocated GpioDescription in MvBoardDescDxe
  - No need to update PCA_ID in this patch

v1->v2:
* All
  - rebase on top of the master branch and Xenon changes

* 1/12
  - s/AP/AP806/ in order to avoid confusion
  - drop desc/DESC usage and improve variables naming
  - use GPIO_CONTROLLER from EmbeddedGpio.h instead of custom MV_SOC_GPIO
  - update commit message

* 2,3,4,5/12
  - drop desc/DESC usage and improve variables naming
  - drop reference to I2c and use GpioExpander
  - improve commit logs

* 6/12
  - drop desc/DESC usage and improve variables naming
  - drop reference to I2c and use GpioExpander
  - remove global variable - same as for other interfaces the consumer
is responsible for avoiding memory leak

* 7/12
  - use MV_GPIO_ prefix
  - switch to EMBEDDED_GPIO
  - remove custom Marvell GPIO Protocol and types
  - add subroutine to MvGpioGetProtocol and more coments to clarify the code
  - add driver types and related enums in other commits

* 8/12
  - extend error path in the entry point, rename variables
  - use MV_GPIO_ prefix
  - switch to EMBEDDED_GPIO
  - remove custom Marvell GPIO Protocol and types
  - replace '!!' expression for obtaining pin state
  - remove BIT() macro
  - use generic mDevicePathTemplate name
  - put validate function under '#if !defined(MDEPKG_NDEBUG)' and
 call from inside ASSERT_EFI_ERROR, add comment
  - update commit message
  - add common enum for describing controllers
  - change authorship

- 9/12
  - Add Leif's RB

* 10/12
  - same modifications as 8/12
  - use I2C flags directly and remove PCA95XX_OPERATION enum
  - add common enum for describing controllers

* 11/12
  - Add Leif's RB

* 12/12
  - Add local headers
  - Make STATIC names more generic
  - s/GetInitializerForType/NonDiscoverableDeviceInitializerGet/
  - Use global enum for McBin GPIO controller


Marcin Wojtas (12):
  Marvell/Library: ArmadaSoCDescLib: Add GPIO information
  Marvell/Library: ArmadaBoardDescLib: Add GPIO information
  Marvell/Library: Introduce MvGpioLib class
  SolidRun/Armada80x0McBin: Extend board description library with GPIO
  Marvell/Armada70x0Db: Extend board description library with GPIO
  Marvell/Armada80x0Db: Extend board description library with GPIO
  Marvell/Drivers: MvBoardDesc: Extend protocol with GPIO support
  Marvell/Drivers: MvGpioDxe: Introduce platform GPIO driver
  Marvell/Drivers: I2c: Use common header for macros
  Marvell/Drivers: MvPca95xxDxe: Introduce GPIO expander driver
  Marvell/Armada7k8k: Enable GPIO drivers compilation
  Marvell/Armada7k8k: Introduce NonDiscoverable device init routines

 Silicon/Marvell/Marvell.dec
   |   2 +
 Silicon/Marvell/Armada7k8k/Armada7k8k.dsc.inc  
   |   3 +
 Platform/Marvell/Armada70x0Db/Armada70x0Db.dsc 
   |   7 +-
 Platform/Marvell/Armada80x0Db/Armada80x0Db.dsc 
   |   3 +
 Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc  
   |   3 +
 
Platform/Marvell/Armada70x0Db/Armada70x0DbBoardDescLib/Armada70x0DbBoardDescLib.inf
   |   1 +
 
Platform/Marvell/Armada70x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.inf 
  |  49 ++
 
Platform/Marvell/Armada80x0Db/Armada80x0DbBoardDescLib/Armada80x0DbBoardDescLib.inf
   |   1 +
 
Platform/Marvell/Armada80x0Db/NonDiscoverableInitLib/NonDiscoverableInitLib.inf 
  |  50 ++
 
Platform/SolidRun/Armada80x0McBin/Armada80x0McBinBoardDescLib/Armada80x0McBinBoardDescLib.inf
 |   1 +
 
Platform/SolidRun/Armada80x0McBin/NonDiscoverableInitLib/NonDiscoverableInitLib.inf
   |  50 ++
 Silicon/Marvell/Armada7k8k/Drivers/PlatInitDxe/PlatInitDxe.inf 
   |   1 +
 
Silicon/Marvell/Armada7k8k/Library/Armada7k8kSoCDescLib/Armada7k8kSoCDescLib.inf
  |   1 +
 Silicon/Marvell/Drivers/Bo