
Dear Stefan Roese,
In message 200907061739.33498.sr@denx.de you wrote:
Please move these CONFIG_SYS_* settings out of this file.
For me it is not acceptable to set configuration options in global header files like include/ppc4xx.h; CONFIG_* settings are supposed to be selected by the board configuration files, and only there.
I don't share this opinion. I think it's perfectly valid to enable CONFIG_* settings in global header files (or some other global files). Sometimes there are dependencies that can (or even should) be solved this way. One example is the 4xx NAND driver which needs to configure/set CONFIG_MTD_NAND_ECC_SMC for correct operation. This is currently done directly in
In such a case please do not name the varoable CONFIG_.
Rule is: CONFIG_* and CONFIG_SYS_* are to be set / unset in the board configuration files only (eventually with help of trickery from the top level Makefile).
drivers/mtd/nand/nand_ecc.c. The plan also proposed by Scott Wood is to remove this define from this file once we have the Kconfig framework intact. Then Kconfig will enable this define as a dependency for PPC4xx. As you know this is common praxis in Linux as well.
Using Kconfig is one thing, and OK.
To me this is even more reason to forbid using CONFIG_* and CONFIG_SYS_* outside board config files.
I hope we don't have any more such #defines hidden in other header files?
I vote for completely removing these defines then (or at least CONFIG_SYS_64BIT_VSPRINTF) and by this enabling the 64bit printf format for all boards. I myself have hunted problems disguised by incorrect 64bit
I don't want this because of the memory footprint.
Actually I'm pretty much annoyed we need this at all.
Best regards,
Wolfgang Denk