[U-Boot] [PATCH v3 00/45] Kconfig: Move CONFIG_SPL_..._SUPPORT to Kconfig

Simon Glass sjg at chromium.org
Tue Sep 13 15:08:17 CEST 2016


Hi Heiko,

On 13 September 2016 at 00:02, Heiko Schocher <hs at denx.de> wrote:
> Hello Simon,
>
>
> Am 13.09.2016 um 07:18 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:
>>
>> 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:
>>
>> 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:
>>
>> 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):
>>
>> 01: buildman
>>    blackfin:  +   cm-bf527 bf609-ezkit bf537-stamp
>>       sparc:  +   grsim grsim_leon2 gr_cpci_ax2000 gr_xc3s_1500 gr_ep2s60
>>       nios2:  +   10m50 3c120
>> microblaze:  +   microblaze-generic
>>    openrisc:  +   openrisc-generic
>>
>> [1] https://patchwork.ozlabs.org/patch/661511/
>>
>> Changes in v3:
>> - Move SPL_NET_VCI_STRING into the SPL Kconfig file also
>> - Rebase on master
>>
>> Changes in v2:
>> - Add some notes on this option to moveconfig.py
>> - Improve the commit message and add one for resyncing with savedefconfig
>> - Add some notes on this option to moveconfig.py
>> - Add new patch to convert CONFIG_SPL_NET_VCI_STRING
>> - Drop CONFIG_SPL_PINCTRL_SUPPORT
>> - Lots of work to make use of common values across multiple boards
>> - Added a patch to change 'spear' CONFIGs to upper case
>>
>> Simon Glass (45):
>>    Correct defconfigs using savedefconfig
>>    moveconfig: Add an option to skip prompts
>>    moveconfig: Add an option to commit changes
>>    Kconfig: Move SPL settings into their own file
>>    arm: fsl: Adjust ordering of #ifndef CONFIG_SPL_BUILD
>>    Drop CONFIG_SPL_RAM_SUPPORT
>>    Use separate options for TPL support
>>    Kconfig: spl: Add SPL support options to Kconfig
>>    Kconfig: tpl: Add some TPL support options to Kconfig
>>    Move existing use of CONFIG_SPL_DM to Kconfig
>>    Move existing use of CONFIG_SPL_RSA to Kconfig
>>    spear: Use upper case for CONFIG options
>>    Convert CONFIG_SPL_CRYPTO_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_HASH_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_DMA_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_DRIVERS_MISC_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_ENV_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_ETH_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_EXT_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_FAT_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_GPIO_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_I2C_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_LIBCOMMON_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_LIBDISK_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_LIBGENERIC_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_MMC_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_MTD_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_MUSB_NEW_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_NAND_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_NET_VCI_STRING to Kconfig
>>    Convert CONFIG_SPL_NET_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_NOR_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_ONENAND_SUPPORT to Kconfig
>>    Remove CONFIG_SPL_PINCTRL_SUPPORT
>>    Convert CONFIG_SPL_POWER_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_SATA_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_SERIAL_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_SPI_FLASH_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_SPI_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_USBETH_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_USB_HOST_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_USB_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_WATCHDOG_SUPPORT to Kconfig
>>    Convert CONFIG_SPL_YMODEM_SUPPORT to Kconfig
>
>
> Many thanks for this big work!
>
> Do you have this patches in a git repo?
> I want to test this patches with tbot testcase:
> https://github.com/hsdenx/tbot/blob/master/src/tc/uboot/tc_uboot_check_kconfig.py
>
> if this series does not break boards ...

Yes it is in u-boot-dm/kconfig-working2.

Regards,
Simon


More information about the U-Boot mailing list