
On Wednesday, August 19, 2015 at 02:02:18 PM, Tom Rini wrote:
On Wed, Aug 19, 2015 at 06:39:29AM +0200, Marek Vasut wrote:
On Tuesday, August 18, 2015 at 07:53:23 PM, Tom Rini wrote:
On Wed, Aug 12, 2015 at 07:31:55AM +0900, Masahiro Yamada wrote:
We have flipped CONFIG_SPL_DISABLE_OF_CONTROL. We have cleansing devices, $(SPL_) and CONFIG_IS_ENABLED(), so we are ready to clear
away the ugly logic in include/fdtdec.h: #ifdef CONFIG_OF_CONTROL # if defined(CONFIG_SPL_BUILD) && !defined(SPL_OF_CONTROL) # define OF_CONTROL 0 # else # define OF_CONTROL 1 # endif #else # define OF_CONTROL 0 #endif
Now CONFIG_IS_ENABLED(OF_CONTROL) is the substitute. It refers to CONFIG_OF_CONTROL for U-boot proper and CONFIG_SPL_OF_CONTROL for SPL.
Also, we no longer have to cancel CONFIG_OF_CONTROL in include/config_uncmd_spl.h and scripts/Makefile.spl.
Signed-off-by: Masahiro Yamada yamada.masahiro@socionext.com Reviewed-by: Tom Rini trini@konsulko.com Reviewed-by: Simon Glass sjg@chromium.org Acked-by: Linus Walleij linus.walleij@linaro.org
(With a slight change due to samsun PR, but applied cleanly after rename) Applied to u-boot/master, thanks!
And this just broke just about every SoCFPGA platform (try ie. socfpga_cyclone5) ;-) I poked into this a bit and noticed that adding #include <linux/kconfig.h> into include/configs/socfpga_common.h fixes the issue, but I'd like to check with you if this is the correct way of fixing it.
Broke it how? $ ./tools/buildman/buildman socfpga_cyclone5 boards.cfg is up to date. Nothing to do. Building current source for 1 boards (1 thread, 6 jobs per thread) 1 0 0 /1 socfpga_cyclone5
Looks like I wasn't really accurate and mainline actually managed to avoid this breakage. I only triggered it with a custom patch, which enables env in SPI NOR (see the spit below).
I suspect the problem is caused by tools/envcrc.c, which does include the board config file (which uses this CONFIG_IS_ENABLED()), but does not include a header file which defines it.
The question therefore is, shall we not used CONFIG_IS_ENABLED() in board config files or shall we include linux/kconfig.h in tools/envcrc.c ?
--->8---
In file included from include/configs/socfpga_sockit.h:195:0, from include/config.h:5, from tools/envcrc.c:19: include/configs/socfpga_common.h:217:22: error: missing binary operator before token "(" #if CONFIG_IS_ENABLED(OF_CONTROL) /* DW SPI is controlled via DT */ ^ make[1]: *** [tools/envcrc.o] Error 1 make[1]: *** Waiting for unfinished jobs.... In file included from include/configs/socfpga_sockit.h:195:0, from include/config.h:5, from ./tools/../common/env_embedded.c:12, from tools/common/env_embedded.c:1: include/configs/socfpga_common.h:217:22: error: missing binary operator before token "(" #if CONFIG_IS_ENABLED(OF_CONTROL) /* DW SPI is controlled via DT */ ^ make[1]: *** [tools/common/env_embedded.o] Error 1 make: *** [tools] Error 2 In file included from include/configs/socfpga_sockit.h:195:0, from include/config.h:5, from tools/envcrc.c:19: include/configs/socfpga_common.h:217:22: error: missing binary operator before token "(" #if CONFIG_IS_ENABLED(OF_CONTROL) /* DW SPI is controlled via DT */ ^ make[1]: *** [tools/envcrc.o] Error 1 make: *** [tools] Error 2 In file included from include/configs/socfpga_sockit.h:195:0, from include/config.h:5, from tools/envcrc.c:19: include/configs/socfpga_common.h:217:22: error: missing binary operator before token "(" #if CONFIG_IS_ENABLED(OF_CONTROL) /* DW SPI is controlled via DT */ ^ make[1]: *** [tools/envcrc.o] Error 1 make: *** [tools] Error 2 In file included from include/configs/socfpga_sockit.h:195:0, from include/config.h:5, from tools/envcrc.c:19: include/configs/socfpga_common.h:217:22: error: missing binary operator before token "(" #if CONFIG_IS_ENABLED(OF_CONTROL) /* DW SPI is controlled via DT */ ^ make[1]: *** [tools/envcrc.o] Error 1 make: *** [tools] Error 2
Best regards, Marek Vasut