Re: [U-Boot] [PATCH v2 00/44] Kconfig: Move CONFIG_SPL_..._SUPPORT to Kconfig

2016-09-05 Thread Simon Glass
Hi Heiko,

On 29 August 2016 at 23:28, Heiko Schocher  wrote:
> Hello Simon,
>
>
> Am 30.08.2016 um 02:21 schrieb Simon Glass:
>>
>> This series moves all the CONFIG_SPL_..._SUPPORT options to Kconfig and
>> fixes up existing boards to continue to build.
>>
>> It also adds a few small but useful features to moveconfig.
>>
>> There is existing work going on in this area, so some of these patches may
>> be superseded. It has taken me a while to get this building cleanly. But I
>> have run out of time so want to get this out.
>>
>> As mentioned on a recent thread [1] there is some confusion about whether
>> an
>> option means enabling driver support or media support. Andrew's recent
>> series seems like a good vehicle to tidy that up. But I hope this series
>> will make it easier.
>>
>> NOTE: in the v2 series I have tried to use common things in Kconfig to
>> reduce the diffs in the defconfig files. This has helped a fair bit. But
>> it
>> is very error-prone and time consuming. Also I have had to add some
>> exceptions (disabling an option in specific board configs). Overall it was
>> not a pleasant experience :-(
>>
>> There are a few strange features of this conversion. The main difficulty
>> is
>> that some PowerPC boards do things like this in their board config file:
>>
>>   #ifdef CONFIG_TPL_BUILD
>>   #define CONFIG_SPL_SERIAL_SUPPORT
>>   #define CONFIG_SPL_ENV_SUPPORT
>>   #else
>>   #define CONFIG_SPL_SERIAL_SUPPORT
>>   #endif
>>
>> This means that TPL reuses the SPL options. We can't support this in
>> Kconfig
>> so I have added a small number of CONFIG_TPL_xxx_SUPPORT options to cope
>> with this. This made the conversion more painful than it should have been.
>>
>> A related issue is boards using a common header file and setting options
>> only
>> for SPL:
>>
>>   #ifdef CONFIG_SPL_BUILD
>>   #define CONFIG_SPL_SERIAL_SUPPORT
>>   #endif
>>
>> This is not noticed by moveconfig so we have to clean it up manually. Also
>> there are a few incorrect things where Kconfig options are set with
>> #define:
>>
>>   #ifdef CONFIG_SPL_BUILD
>>   #define CONFIG_SPL_DM
>>   #endif
>>
>> Finally, many defconfig files are not ordered correctly, resulting in
>> larger
>> patches than we might like. It would be great to have a solution for this,
>> perhaps with buildman providing a warning. But it might slow down
>> development.
>>
>> The series is fully build-tested (for bisectability) and causes no
>> failures
>> for the boards that already pass. The following boards fail for me at
>> present on mainline (which I have not yet looked at):
>>
>>openrisc:  +   openrisc-generic
>>   sparc:  +   grsim grsim_leon2 gr_cpci_ax2000 gr_xc3s_1500 gr_ep2s60
>>blackfin:  +   bf609-ezkit
>>
>> This build is also config tested (with buildman -K). The changes are with
>> spear (to rename options) and am335x_evm_usbspl (which I think is
>> correct).
>>
>> boards.cfg is up to date. Nothing to do.
>> Summary of 49 commits for 1185 boards (32 threads, 1 job per thread)
>> 01: cfg
>>openrisc:  +   openrisc-generic
>>   sparc:  +   grsim grsim_leon2 gr_cpci_ax2000 gr_xc3s_1500 gr_ep2s60
>>blackfin:  +   bf609-ezkit
>> 02: move
>> 03: buildman
>> 04: Correct defconfigs using savedefconfig
>> 05: moveconfig: Add an option to skip prompts
>> 06: moveconfig: Add an option to commit changes
>> 07: Kconfig: Move SPL settings into their own file
>> 08: arm: fsl: Adjust ordering of #ifndef CONFIG_SPL_BUILD
>> 09: Drop CONFIG_SPL_RAM_SUPPORT
>> 10: Use separate options for TPL support
>> 11: Kconfig: spl: Add SPL support options to Kconfig
>> 12: Kconfig: tpl: Add some TPL support options to Kconfig
>> 13: Move existing use of CONFIG_SPL_DM to Kconfig
>> 14: Move existing use of CONFIG_SPL_RSA to Kconfig
>> 15: spear: Use upper case for CONFIG options
>> arm:
>> + u-boot.cfg: CONFIG_ENV_ADDR=(CONFIG_SYS_FLASH_BASE +
>> CONFIG_SYS_MONITOR_LEN) CONFIG_ENV_IS_IN_FLASH=1
>> CONFIG_ENV_SECT_SIZE=0x0001 CONFIG_NAND=1 CONFIG_STV0991=1
>> CONFIG_SYS_MONITOR_LEN=0x0004 CONFIG_USBTTY=1
>> - u-boot.cfg: CONFIG_DW_UDC=1 CONFIG_ENV_IS_IN_NAND=1
>> CONFIG_ENV_OFFSET=0x6 CONFIG_ENV_RANGE=0x1 CONFIG_SPEAR_USBTTY=1
>> CONFIG_USBD_HS=1 CONFIG_USBD_MANUFACTURER="ST Microelectronics"
>> CONFIG_USBD_PRODUCT_NAME="SPEAr SoC" CONFIG_USB_DEVICE=1 CONFIG_USB_TTY=1
>> CONFIG_nand=1 CONFIG_spear300=1 CONFIG_spear310=1 CONFIG_spear320=1
>> CONFIG_spear600=1 CONFIG_stv0991=1 CONFIG_usbtty=1
>> + all: CONFIG_ENV_ADDR=(CONFIG_SYS_FLASH_BASE +
>> CONFIG_SYS_MONITOR_LEN) CONFIG_ENV_IS_IN_FLASH=1
>> CONFIG_ENV_SECT_SIZE=0x0001 CONFIG_NAND=1 CONFIG_STV0991=1
>> CONFIG_SYS_MONITOR_LEN=0x0004 CONFIG_USBTTY=1
>> - all: CONFIG_DW_UDC=1 CONFIG_ENV_IS_IN_NAND=1
>> CONFIG_ENV_OFFSET=0x6 CONFIG_ENV_RANGE=0x1 CONFIG_SPEAR_USBTTY=1
>> CONFIG_USBD_HS=1 CONFIG_USBD_MANUFACTURER="ST Microelectronics"
>> CONFIG_USBD_PRODUCT_NAME="SPEAr SoC" CONFIG_USB_DEVICE=1 CONFIG_USB_TTY=1
>> CONFIG_nand=1 

Re: [U-Boot] [PATCH v2 00/44] Kconfig: Move CONFIG_SPL_..._SUPPORT to Kconfig

2016-08-29 Thread Heiko Schocher

Hello Simon,

Am 30.08.2016 um 02:21 schrieb Simon Glass:

This series moves all the CONFIG_SPL_..._SUPPORT options to Kconfig and
fixes up existing boards to continue to build.

It also adds a few small but useful features to moveconfig.

There is existing work going on in this area, so some of these patches may
be superseded. It has taken me a while to get this building cleanly. But I
have run out of time so want to get this out.

As mentioned on a recent thread [1] there is some confusion about whether an
option means enabling driver support or media support. Andrew's recent
series seems like a good vehicle to tidy that up. But I hope this series
will make it easier.

NOTE: in the v2 series I have tried to use common things in Kconfig to
reduce the diffs in the defconfig files. This has helped a fair bit. But it
is very error-prone and time consuming. Also I have had to add some
exceptions (disabling an option in specific board configs). Overall it was
not a pleasant experience :-(

There are a few strange features of this conversion. The main difficulty is
that some PowerPC boards do things like this in their board config file:

  #ifdef CONFIG_TPL_BUILD
  #define CONFIG_SPL_SERIAL_SUPPORT
  #define CONFIG_SPL_ENV_SUPPORT
  #else
  #define CONFIG_SPL_SERIAL_SUPPORT
  #endif

This means that TPL reuses the SPL options. We can't support this in Kconfig
so I have added a small number of CONFIG_TPL_xxx_SUPPORT options to cope
with this. This made the conversion more painful than it should have been.

A related issue is boards using a common header file and setting options only
for SPL:

  #ifdef CONFIG_SPL_BUILD
  #define CONFIG_SPL_SERIAL_SUPPORT
  #endif

This is not noticed by moveconfig so we have to clean it up manually. Also
there are a few incorrect things where Kconfig options are set with #define:

  #ifdef CONFIG_SPL_BUILD
  #define CONFIG_SPL_DM
  #endif

Finally, many defconfig files are not ordered correctly, resulting in larger
patches than we might like. It would be great to have a solution for this,
perhaps with buildman providing a warning. But it might slow down
development.

The series is fully build-tested (for bisectability) and causes no failures
for the boards that already pass. The following boards fail for me at
present on mainline (which I have not yet looked at):

   openrisc:  +   openrisc-generic
  sparc:  +   grsim grsim_leon2 gr_cpci_ax2000 gr_xc3s_1500 gr_ep2s60
   blackfin:  +   bf609-ezkit

This build is also config tested (with buildman -K). The changes are with
spear (to rename options) and am335x_evm_usbspl (which I think is correct).

boards.cfg is up to date. Nothing to do.
Summary of 49 commits for 1185 boards (32 threads, 1 job per thread)
01: cfg
   openrisc:  +   openrisc-generic
  sparc:  +   grsim grsim_leon2 gr_cpci_ax2000 gr_xc3s_1500 gr_ep2s60
   blackfin:  +   bf609-ezkit
02: move
03: buildman
04: Correct defconfigs using savedefconfig
05: moveconfig: Add an option to skip prompts
06: moveconfig: Add an option to commit changes
07: Kconfig: Move SPL settings into their own file
08: arm: fsl: Adjust ordering of #ifndef CONFIG_SPL_BUILD
09: Drop CONFIG_SPL_RAM_SUPPORT
10: Use separate options for TPL support
11: Kconfig: spl: Add SPL support options to Kconfig
12: Kconfig: tpl: Add some TPL support options to Kconfig
13: Move existing use of CONFIG_SPL_DM to Kconfig
14: Move existing use of CONFIG_SPL_RSA to Kconfig
15: spear: Use upper case for CONFIG options
arm:
+ u-boot.cfg: CONFIG_ENV_ADDR=(CONFIG_SYS_FLASH_BASE + 
CONFIG_SYS_MONITOR_LEN) CONFIG_ENV_IS_IN_FLASH=1 
CONFIG_ENV_SECT_SIZE=0x0001 CONFIG_NAND=1 CONFIG_STV0991=1 
CONFIG_SYS_MONITOR_LEN=0x0004 CONFIG_USBTTY=1
- u-boot.cfg: CONFIG_DW_UDC=1 CONFIG_ENV_IS_IN_NAND=1 CONFIG_ENV_OFFSET=0x6 
CONFIG_ENV_RANGE=0x1 CONFIG_SPEAR_USBTTY=1 CONFIG_USBD_HS=1 CONFIG_USBD_MANUFACTURER="ST 
Microelectronics" CONFIG_USBD_PRODUCT_NAME="SPEAr SoC" CONFIG_USB_DEVICE=1 
CONFIG_USB_TTY=1 CONFIG_nand=1 CONFIG_spear300=1 CONFIG_spear310=1 CONFIG_spear320=1 
CONFIG_spear600=1 CONFIG_stv0991=1 CONFIG_usbtty=1
+ all: CONFIG_ENV_ADDR=(CONFIG_SYS_FLASH_BASE + CONFIG_SYS_MONITOR_LEN) 
CONFIG_ENV_IS_IN_FLASH=1 CONFIG_ENV_SECT_SIZE=0x0001 CONFIG_NAND=1 
CONFIG_STV0991=1 CONFIG_SYS_MONITOR_LEN=0x0004 CONFIG_USBTTY=1
- all: CONFIG_DW_UDC=1 CONFIG_ENV_IS_IN_NAND=1 CONFIG_ENV_OFFSET=0x6 
CONFIG_ENV_RANGE=0x1 CONFIG_SPEAR_USBTTY=1 CONFIG_USBD_HS=1 CONFIG_USBD_MANUFACTURER="ST 
Microelectronics" CONFIG_USBD_PRODUCT_NAME="SPEAr SoC" CONFIG_USB_DEVICE=1 
CONFIG_USB_TTY=1 CONFIG_nand=1 CONFIG_spear300=1 CONFIG_spear310=1 CONFIG_spear320=1 
CONFIG_spear600=1 CONFIG_stv0991=1 CONFIG_usbtty=1
spear600_nand :
+ u-boot.cfg: CONFIG_NAND=1
- u-boot.cfg: CONFIG_nand=1 CONFIG_spear600=1
+ all: CONFIG_NAND=1
- all: CONFIG_nand=1 CONFIG_spear600=1
spear300_nand :
+ u-boot.cfg: CONFIG_ENV_ADDR=(CONFIG_SYS_FLASH_BASE + 
CONFIG_SYS_MONITOR_LEN) CONFIG_ENV_IS_IN_FLASH=1 

[U-Boot] [PATCH v2 00/44] Kconfig: Move CONFIG_SPL_..._SUPPORT to Kconfig

2016-08-29 Thread Simon Glass
This series moves all the CONFIG_SPL_..._SUPPORT options to Kconfig and
fixes up existing boards to continue to build.

It also adds a few small but useful features to moveconfig.

There is existing work going on in this area, so some of these patches may
be superseded. It has taken me a while to get this building cleanly. But I
have run out of time so want to get this out.

As mentioned on a recent thread [1] there is some confusion about whether an
option means enabling driver support or media support. Andrew's recent
series seems like a good vehicle to tidy that up. But I hope this series
will make it easier.

NOTE: in the v2 series I have tried to use common things in Kconfig to
reduce the diffs in the defconfig files. This has helped a fair bit. But it
is very error-prone and time consuming. Also I have had to add some
exceptions (disabling an option in specific board configs). Overall it was
not a pleasant experience :-(

There are a few strange features of this conversion. The main difficulty is
that some PowerPC boards do things like this in their board config file:

 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #else
 #define CONFIG_SPL_SERIAL_SUPPORT
 #endif

This means that TPL reuses the SPL options. We can't support this in Kconfig
so I have added a small number of CONFIG_TPL_xxx_SUPPORT options to cope
with this. This made the conversion more painful than it should have been.

A related issue is boards using a common header file and setting options only
for SPL:

 #ifdef CONFIG_SPL_BUILD
 #define CONFIG_SPL_SERIAL_SUPPORT
 #endif

This is not noticed by moveconfig so we have to clean it up manually. Also
there are a few incorrect things where Kconfig options are set with #define:

 #ifdef CONFIG_SPL_BUILD
 #define CONFIG_SPL_DM
 #endif

Finally, many defconfig files are not ordered correctly, resulting in larger
patches than we might like. It would be great to have a solution for this,
perhaps with buildman providing a warning. But it might slow down
development.

The series is fully build-tested (for bisectability) and causes no failures
for the boards that already pass. The following boards fail for me at
present on mainline (which I have not yet looked at):

  openrisc:  +   openrisc-generic
 sparc:  +   grsim grsim_leon2 gr_cpci_ax2000 gr_xc3s_1500 gr_ep2s60
  blackfin:  +   bf609-ezkit

This build is also config tested (with buildman -K). The changes are with
spear (to rename options) and am335x_evm_usbspl (which I think is correct).

boards.cfg is up to date. Nothing to do.
Summary of 49 commits for 1185 boards (32 threads, 1 job per thread)
01: cfg
  openrisc:  +   openrisc-generic
 sparc:  +   grsim grsim_leon2 gr_cpci_ax2000 gr_xc3s_1500 gr_ep2s60
  blackfin:  +   bf609-ezkit
02: move
03: buildman
04: Correct defconfigs using savedefconfig
05: moveconfig: Add an option to skip prompts
06: moveconfig: Add an option to commit changes
07: Kconfig: Move SPL settings into their own file
08: arm: fsl: Adjust ordering of #ifndef CONFIG_SPL_BUILD
09: Drop CONFIG_SPL_RAM_SUPPORT
10: Use separate options for TPL support
11: Kconfig: spl: Add SPL support options to Kconfig
12: Kconfig: tpl: Add some TPL support options to Kconfig
13: Move existing use of CONFIG_SPL_DM to Kconfig
14: Move existing use of CONFIG_SPL_RSA to Kconfig
15: spear: Use upper case for CONFIG options
arm:
   + u-boot.cfg: CONFIG_ENV_ADDR=(CONFIG_SYS_FLASH_BASE + 
CONFIG_SYS_MONITOR_LEN) CONFIG_ENV_IS_IN_FLASH=1 
CONFIG_ENV_SECT_SIZE=0x0001 CONFIG_NAND=1 CONFIG_STV0991=1 
CONFIG_SYS_MONITOR_LEN=0x0004 CONFIG_USBTTY=1
   - u-boot.cfg: CONFIG_DW_UDC=1 CONFIG_ENV_IS_IN_NAND=1 
CONFIG_ENV_OFFSET=0x6 CONFIG_ENV_RANGE=0x1 CONFIG_SPEAR_USBTTY=1 
CONFIG_USBD_HS=1 CONFIG_USBD_MANUFACTURER="ST Microelectronics" 
CONFIG_USBD_PRODUCT_NAME="SPEAr SoC" CONFIG_USB_DEVICE=1 CONFIG_USB_TTY=1 
CONFIG_nand=1 CONFIG_spear300=1 CONFIG_spear310=1 CONFIG_spear320=1 
CONFIG_spear600=1 CONFIG_stv0991=1 CONFIG_usbtty=1
   + all: CONFIG_ENV_ADDR=(CONFIG_SYS_FLASH_BASE + CONFIG_SYS_MONITOR_LEN) 
CONFIG_ENV_IS_IN_FLASH=1 CONFIG_ENV_SECT_SIZE=0x0001 CONFIG_NAND=1 
CONFIG_STV0991=1 CONFIG_SYS_MONITOR_LEN=0x0004 CONFIG_USBTTY=1
   - all: CONFIG_DW_UDC=1 CONFIG_ENV_IS_IN_NAND=1 CONFIG_ENV_OFFSET=0x6 
CONFIG_ENV_RANGE=0x1 CONFIG_SPEAR_USBTTY=1 CONFIG_USBD_HS=1 
CONFIG_USBD_MANUFACTURER="ST Microelectronics" CONFIG_USBD_PRODUCT_NAME="SPEAr 
SoC" CONFIG_USB_DEVICE=1 CONFIG_USB_TTY=1 CONFIG_nand=1 CONFIG_spear300=1 
CONFIG_spear310=1 CONFIG_spear320=1 CONFIG_spear600=1 CONFIG_stv0991=1 
CONFIG_usbtty=1
spear600_nand :
   + u-boot.cfg: CONFIG_NAND=1
   - u-boot.cfg: CONFIG_nand=1 CONFIG_spear600=1
   + all: CONFIG_NAND=1
   - all: CONFIG_nand=1 CONFIG_spear600=1
spear300_nand :
   + u-boot.cfg: CONFIG_ENV_ADDR=(CONFIG_SYS_FLASH_BASE + 
CONFIG_SYS_MONITOR_LEN) CONFIG_ENV_IS_IN_FLASH=1 
CONFIG_ENV_SECT_SIZE=0x0001 CONFIG_NAND=1 CONFIG_SYS_MONITOR_LEN=0x0004
   -