From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Date: Wed, 14 Sep 2016 07:59:19 +0200 Subject: [U-Boot] [PATCH v3 00/45] Kconfig: Move CONFIG_SPL_..._SUPPORT to Kconfig In-Reply-To: References: <1473743943-15003-1-git-send-email-sjg@chromium.org> <57D79668.5090906@denx.de> Message-ID: <57D8E737.3050102@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Simon, Am 13.09.2016 um 15:08 schrieb Simon Glass: > Hi Heiko, > > On 13 September 2016 at 00:02, Heiko Schocher 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. Thanks! Started from commit: commit 5ed2ac345a2f5a613708a4fda9412eb4455d5109 Author: Simon Glass Date: Sat Aug 27 19:55:16 2016 -0600 Correct defconfigs using savedefconfig until commit 96f50085eba4631013e7a5774d8da26c25e72d60 Author: Simon Glass Date: Sat Aug 20 18:53:31 2016 -0600 Convert CONFIG_SPL_YMODEM_SUPPORT to Kconfig Hmm ... I get immediately this error: testing board 10m50 1 / 1196 testing board 3c120 2 / 1196 testing board A10-OLinuXino-Lime 3 / 1196 A10-OLinuXino-Lime u-boot spl bin diff f1da4b556e6ab90d370b5bf827fe7c31 != 94e85eb2c9e7ed2026977d7a814aab6d testing board A10s-OLinuXino-M 4 / 1196 Hmm... may we have a problem with building SPL binaries reproducable? First I say No... pollux:u-boot-none hs [master] $ make mrproper [...] pollux:u-boot-none hs [master] $ make A10-OLinuXino-Lime_defconfig [...] pollux:u-boot-none hs [master] $ make -s -j8 all [...] pollux:u-boot-none hs [master] $ md5sum spl/u-boot-spl.bin 94e85eb2c9e7ed2026977d7a814aab6d spl/u-boot-spl.bin pollux:u-boot-none hs [master] $ make mrproper [...] pollux:u-boot-none hs [master] $ make A10-OLinuXino-Lime_defconfig [...] pollux:u-boot-none hs [master] $ make -s -j8 all [...] pollux:u-boot-none hs [master] $ pollux:u-boot-none hs [master] $ md5sum spl/u-boot-spl.bin 94e85eb2c9e7ed2026977d7a814aab6d spl/u-boot-spl.bin pollux:u-boot-none hs [master] $ Same md5sum ... puh. Applying your first patch, which does not introduce any change for the A10-OLinuXino-Lime board, and I get the same md5sum ... puh, the test seems working ... I try to find out more ... I just have to leave now ... And sorry for being so annoying ... bye, Heiko -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany