Hi Rasmus, On Mon, 30 Jan 2023 at 14:12, Rasmus Villemoes <rasmus.villem...@prevas.dk> wrote: > > On 30/01/2023 16.54, Tom Rini wrote: > > On Sun, Jan 29, 2023 at 10:57:28PM +0100, Rasmus Villemoes wrote: > >> On 29/01/2023 01.57, Simon Glass wrote: > >>> CONFIG options must not use lower-case letter. > >> > >> Why? > > > > So, kconfiglib complains about these. > > Which IMO would be a bug in kconfiglib. Can you point me at where that > warning is in kconfiglib.py and how it looks and when one would > encounter it? > > > However, I can't find a formal > > language definition and the kernel documentation doesn't specify, merely > > imply that it should always be all uppercase. > > Well, yes, mostly, but since the de facto specification (namely, the > kernel's implementation) doesn't complain and the kernel's Kconfig files > do contain several examples of config symbols with lowercase characters, > why deviate? In particular, since we share a lot of code, if some piece > of kernel code has an IS_ENABLED(CONFIG_FOO876xx), why make it harder to > import and keep that in sync? > > Perhaps we can get Masahiro to tell us whether lowercase characters are > allowed in kconfig symbols or not. > > For reference, another kconfig-using project decided to fix their own > infrastructure around kconfig instead of enforcing uppercase symbols: > > https://github.com/zephyrproject-rtos/zephyr/issues/40420
That's all good context, thank you. When we use #define it is normally with an upper-case string. The is the convention in U-Boot and Linux (and many other projects), I believe. Also, having lower and upper case strings does become confusing, and inconsistent. I was unaware that lower-case was allowed in Linux. It seems there are 35 cases of this in Linux. I'm not sure if any is intended. But perhaps we should not allow it in U-Boot? Regards, Simon