
Hi Lukasz,
On 9/2/24 4:57 PM, Ćukasz Czechowski wrote:
Hi Quentin,
Fair point. Unfortunately the syntax "depends on <symbol> if <expr>" seem to be not supported in Kconfig
Shoot, it's the ONLY Kconfig attribute that doesn't support if :)
I can do something like
depends on !TPL_SILENT_CONSOLE && TPL_RAM || !SPL_SILENT_CONSOLE && SPL_RAM
instead. What do you think?
Mmmm no, that wouldn't work I think.
E.g. this would allow RAM_ROCKCHIP_DEBUG to be enabled in TPL even if TPL_SILENT_CONSOLE is enabled, if SPL_RAM=y and SPL_SILENT_CONSOLE=n.
I think we have two options: 1) depends on (!SPL_SILENT_CONSOLE && SPL_RAM) || !SPL_RAM depends on (!TPL_SILENT_CONSOLE && TPL_RAM) || !TPL_RAM
This means RAM_ROCKCHIP_DEBUG would be selectable for RAM=y, TPL_RAM=n, SPL_RAM=n. I don't think anyone would want TPL_RAM AND SPL_RAM set at the same time, so having SPL_SILENT_CONSOLE set but not TPL_SILENT_CONSOLE wouldn't be an issue here.
2) Create an SPL and TPL symbol for RAM_ROCKCHIP_DEBUG, i.e. SPL_RAM_ROCKCHIP_DEBUG and TPL_RAM_ROCKCHIP_DEBUG.
This is a bit more involved in terms of changes but is closer to how U-Boot works when SPL/TPL is involved. We basically would need to change IS_ENABLED(CONFIG_RAM_ROCKCHIP_DEBUG) into CONFIG_IS_ENABLED(RAM_ROCKCHIP_DEBUG) and #ifdef CONFIG_RAM_ROCKCHIP_DEBUG into #if CONFIG_IS_ENABLED(RAM_ROCKCHIP_DEBUG).
I assume we would want those new symbols to default to y too. If that's the case, then we need to manually disable those symbols in defconfigs that disable RAM_ROCMCHIP_DEBUG right now: configs/anbernic-rgxx3-rk3566_defconfig configs/neu2-io-rv1126_defconfig configs/roc-pc-mezzanine-rk3399_defconfig configs/roc-pc-rk3399_defconfig configs/rock-pi-n10-rk3399pro_defconfig configs/rock-pi-n8-rk3288_defconfig configs/sonoff-ihost-rv1126_defconfig
Cheers, Quentin