[U-Boot] [PATCH v3 0/2] Detect and reject new ad-hoc CONFIG options

Tom Rini trini at konsulko.com
Wed Sep 14 21:13:37 CEST 2016


On Tue, Sep 13, 2016 at 09:46:18PM -0600, Simon Glass wrote:
> 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.

Great, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160914/c69230c9/attachment.sig>


More information about the U-Boot mailing list