CONFIG migration quirk

Tom Rini trini at konsulko.com
Fri Dec 30 19:06:03 CET 2022


On Fri, Dec 30, 2022 at 11:51:10AM -0600, Simon Glass wrote:
> Hi Tom,
> 
> On Thu, 29 Dec 2022 at 17:03, Tom Rini <trini at konsulko.com> wrote:
> >
> > On Thu, Dec 29, 2022 at 04:54:35PM -0600, Simon Glass wrote:
> > > Hi Tom,
> > >
> > > If I:
> > >
> > > 1. Revert 9ef3ba85bf3 kbuild: Remove checking for adhoc CONFIG symbols
> > > 2. rm scripts/config_whitelist.txt
> > > 3. run ./scripts/build-whitelist.sh
> > >
> > > Then I get about 930 unmirgrated CONFIG options:
> > >
> > > $ wc scripts/config_whitelist.txt
> > >   930   930 21243 scripts/config_whitelist.txt
> > >
> > > It seems that some of them are still there. I noticed this when
> > > looking at CONFIG_VIDEO_FONT_4X6
> > >
> > > Am I missing something?
> >
> > So, it's why I've not quite said we've migrated _everything_.  There's
> > now a much smaller / odder set of CONFIG values left to deal with, or
> > ignore. If you do:
> > $ git grep -E '^#[[:blank:]]*(define|undef)[[:blank:]]*CONFIG_' :^arch/arm/dts/ :^scripts/kconfig/lkc.h :^include/linux/kconfig.h | wc -l
> > 606
> 
> Oh I see. I didn't know that. The script was designed to ratchet down,
> which made sense at the time.

I'm not 100% sure if the script was supposed to catch everything, or
not, at this point. I know there were a few places it missed things too,
sadly, as some CONFIGs did sneak in (and hence the CI check forcing
arch/**/config.h).

> > And of those, 406 are "CONFIG_SYS" and so should just get regex'd to
> > CFG_SYS. There's also a few more ignore paths that should go in that
> > grep, such as doc/ and tools/.  What's left after that is seeing if any
> > of those are used, or if there's any more cases of defining defaults in
> > code instead of Kconfig.
> >
> > I'm also a bit less concerned about this in that I've made checkpatch.pl
> > complain about any additional #define CONFIG / #undef CONFIG anywhere
> > (and I check that for everything as I merge), and CI is now more strict,
> > but not 100% strict yet.
> 
> Does this prevent new ad-hoc CONFIG options?

Between CI and checkpatch.pl, yes.

> Should we return to the build-whitelist.sh script for now?

No, I don't think that's needed.

> Is there something I could help with on clearing out the rest of the
> CONFIGs or are you working on that?

Looking over my queue atm
(https://patchwork.ozlabs.org/project/uboot/list/?delegate=3651) my
assumption is that most of the series there from you need a re-spin
anyhow at this point. That leaves some platform stuff that's been out
long enough that I should take it, a few env/misc things, and then I'll
go and tackle again the more oddball CONFIGs that are outstanding. I
would like to see v2023.04 have the more full / hard CI test (grep
everywhere, exclude arch/arm/dts/ (upstream defines CONFIGs there it
seems), doc/, tools/ (after a harder look), scripts/kconifg/lkc.h and
include/linux/kconfig.h (both of which are Very Special cases).

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20221230/ffd25e41/attachment.sig>


More information about the U-Boot mailing list