[U-Boot] [PATCH v3 0/2] Detect and reject new ad-hoc CONFIG options
Simon Glass
sjg at chromium.org
Wed Sep 14 05:46:18 CEST 2016
Hi Tom,
On 13 September 2016 at 21:44, Simon Glass <sjg at chromium.org> wrote:
> Despite the availability of Kconfig, the number of ad-hoc CONFIG options in
> U-Boot is still at over 8000.
>
> In February 2015 (commit 741e58e0) there were around 8387 ad-hoc CONFIGs.
> As of this patch there are about 8336, only a little fewer.
>
> One problem is that new ones are still being added, admittedly at a slower
> rate. This series adds a Makefile check to detect that and produce a build
> error. This provides immediate feedback that new CONFIG options should go in
> Kconfig.
>
> Changes in v3:
> - Update the whitelist with mainline
> - Fix the match partern to exclude .py files, not anything containing "py"
> - Handle Kconfig files with extensions (e.g. Kconfig.64)
> - Handle CONFIG_SYS_EXTRA_OPTIONS containing lower case
> - Include lower-case letters in the CONFIG match string
> - Write error output to stderr so that buildman shows it
> - Handle Kconfig files with extensions (e.g. Kconfig.64)
> - Handle extra whitespace after 'config' / 'menuconfig'
>
> Changes in v2:
> - Rebase to mainline
> - Fix scripts so that there are no errors
> - Add the 'build-whitelist.sh' script to the tree
>
> Simon Glass (2):
> Kconfig: Add a whitelist of ad-hoc CONFIG options
> Makefile: Give a build error if ad-hoc CONFIG options are added
>
> Makefile | 10 +-
> scripts/build-whitelist.sh | 51 +
> scripts/check-config.sh | 55 +
> scripts/config_whitelist.txt | 8420 ++++++++++++++++++++++++++++++++++++++++++
> 4 files changed, 8535 insertions(+), 1 deletion(-)
> create mode 100755 scripts/build-whitelist.sh
> create mode 100755 scripts/check-config.sh
> create mode 100644 scripts/config_whitelist.txt
>
> --
> 2.8.0.rc3.226.g39d4020
>
I build-tested this on top of the SPL series (see u-boot-dm/kconfig-working2):
buildman -b kc4 -fC --step 0 -s
boards.cfg is up to date. Nothing to do.
Summary of 2 commits for 1196 boards (32 threads, 1 job per thread)
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
48: Makefile: Give a build error if ad-hoc CONFIG options are added
(kc4=74f3ab: -- asc asc2 asc3 b/ sandbox/ test/) u>
There were a number of tweaked needed to get the config checker to
build all boards without error. My previous tested omitted the -C
flag, meaning that it did not reconfigure all of the boards, so
missing loads of problems.
Regards,
Simon
More information about the U-Boot
mailing list