Re: [U-Boot] [PATCH v2 00/44] Kconfig: Move CONFIG_SPL_..._SUPPORT to Kconfig
Hi Heiko, On 29 August 2016 at 23:28, Heiko Schocherwrote: > 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
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
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 -