Ühel kenal päeval, E, 2009-02-09 kell 09:56, kirjutas ron minnich:
On Mon, Feb 9, 2009 at 9:00 AM, Mart Raudsepp mart.raudsepp@artecdesign.ee wrote:
Could we perhaps have dtc give me a DTS_HAVE_CS5536_NAND or similar preprocessor definitions if the device is present in the static tree?
sure. We could also have it create a Make variable such that the nand.c is conditionally compiled in. I prefer that to #ifdef goo in .c files.
Or it would be the #define given by dtc and we can just #ifdef at the top of nand.c or similar files if they warrant a separate file, and unconditionally have it in Makefile without any mess.
Or we could do something like this: STAGE2_SOURCE="somefile.c"
and have dtc add that source to e.g. the stage2 source. Of course we are moving far beyond what dts was intended to do; we're really starting to put things into it that are in the v2 config tool.
I'm getting a feeling the dts wasn't intended to do a whole lot it has the power to do, maybe I should re-read Newboot.
For the sake of argument, lets say every kilobyte matters as I might want to also fit in a LAB in a 1MB limit. We could be talking about a whole lot more complex code that is unconditionally compiled in unless doing ugly C file listing in mainboard dir Makefiles than we are dealing with in this instance.
yep. Once again, the v2 config system comes out looking pretty good on this score.
So could dtc imho.
As a completely off-topic slightly related to the above side note, I'm still slightly annoyed at all loglevel strings getting compiled in now, no questions asked. A maximum supported loglevel option would be nice. We need no complete spew loglevel messages in a production ROM we hypothetically burn into units sold to customers.
In many cases the lack of such compiled in messages was a huge problem on deployed systems. That's why we went to having them all in as default. There were many complaints about leaving out messages in v2 ...
That's all fair, just now we have no option to declare which level messages should be compiled in - it's always DEBUG_SPEW. With an option to give the maximum compiled in level, defaulting to SPEW, would be a win-win :)
Regards, Mart Raudsepp