
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@konsulko.com wrote:
On Thu, Dec 29, 2022 at 04:54:35PM -0600, Simon Glass wrote:
Hi Tom,
If I:
- Revert 9ef3ba85bf3 kbuild: Remove checking for adhoc CONFIG symbols
- rm scripts/config_whitelist.txt
- 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).