[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