
On 04:13 Sat 13 Jun , David Brownell wrote:
On Saturday 13 June 2009, Jean-Christophe PLAGNIOL-VILLARD wrote:
The machine_is_X() macros are automatically #ifdeffed in the header; no size impact. Read <asm/mach-types.h> ...
If I use this pacth on the rm9200ek the u-boot.bin size will increase for nothing
I'm not following you. The lines are:
#ifdef CONFIG_MACH_CSB337 # ifdef machine_arch_type # undef machine_arch_type # define machine_arch_type __machine_arch_type # else # define machine_arch_type MACH_TYPE_CSB337 # endif # define machine_is_csb337() (machine_arch_type == MACH_TYPE_CSB337) #else # define machine_is_csb337() (0) #endif
... and similar for EK. The csb337 config file sets CONFIG_MACH_CSB337, and nothing else does. Result: on rm9200ek, that test becomes if(0), while on csb337 it becomes if (X == X), where X == MACH_TYPE_CSB337.
If I was able to detect dynamicly on which board I will run ok but it's not the case here so please use #ifdef CONFIG_MACH_xxx #else #endif
See above. There already *IS* such an #ifdef, but it's just not cluttering up the guts of that driver.
you adding MUST have NO size impact on other board
if we apply you code as it we will increase the size of u-boot for every rm9200 board that use the ethernet
so please do the ifdef on the ether driver
Best Regards, J.