========================================= PART-SPECIFIC SOURCE COMPARTMENTALISATION ========================================= The sources for various parts are compartmentalised at two different levels: (1) Processor level The "processor level" is a CPU core plus the other on-silicon peripherals. Processor-specific header files are divided among directories in a similar way to the CPU level: (*) include/asm-mn10300/proc-mn103e010/ Support for the AM33v2 CPU core. The appropriate processor is selected by a CONFIG_MN10300_PROC_YYYY option from the "Processor support" choice menu in the arch/mn10300/Kconfig file. (2) Unit level The "unit level" is a processor plus all the external peripherals controlled by that processor. Unit-specific header files are divided among directories in a similar way to the CPU level; not only that, but specific sources may also be segregated into separate directories under the arch directory: (*) include/asm-mn10300/unit-asb2303/ (*) arch/mn10300/unit-asb2303/ Support for the ASB2303 board with an ASB2308 daughter board. (*) include/asm-mn10300/unit-asb2305/ (*) arch/mn10300/unit-asb2305/ Support for the ASB2305 board. The appropriate processor is selected by a CONFIG_MN10300_UNIT_ZZZZ option from the "Unit type" choice menu in the arch/mn10300/Kconfig file. ============ COMPILE TIME ============ When the kernel is compiled, symbolic links will be made in the asm header file directory for this arch: include/asm-mn10300/proc => include/asm-mn10300/proc-YYYY/ include/asm-mn10300/unit => include/asm-mn10300/unit-ZZZZ/ So that the header files contained in those directories can be accessed without lots of #ifdef-age. The appropriate arch/mn10300/unit-ZZZZ directory will also be entered by the compilation process; all other unit-specific directories will be ignored.