Questions to answer:

-Which macros are dependent on ifdefs and so on config options ? Where macros are defined ?

#ifdef CONFIG_FOO
#define bar(x) puts(x)
#elif CONFIG_BAR
void bar(char * x) { puts(x); }
#endif 

-Could we find double-defined code that is no longer used ? (code that was written but then a new config option was added doing *almost* the same)

-Why config options that cannot be trivially converted, cannot ?

-Here the ones that can be trivially converted. Here the ones that do not require pointer analysis. Here are those that require analysis.

-What part of the Kernel is baseline or based on config options.

-If you take a default configuration, how much of the kernel is eliminated.

-How to delete some ifdefs blocks ?

Attachments