Some ep93xx boards use physmap while other ep93xx boards do not. Currently, whenever you compile in physmap, it initialises itself unconditionally, which makes it hard to compile multi-machine kernels for ep93xx. Teach physmap not to load when the mapping length is zero, and default the mapping length to zero in Kconfig. Index: linux-2.6.15/drivers/mtd/maps/Kconfig =================================================================== --- linux-2.6.15.orig/drivers/mtd/maps/Kconfig +++ linux-2.6.15/drivers/mtd/maps/Kconfig @@ -37,7 +37,7 @@ config MTD_PHYSMAP_START config MTD_PHYSMAP_LEN hex "Physical length of flash mapping" depends on MTD_PHYSMAP - default "0x4000000" + default "0x0" help This is the total length of the mapping of the flash chips on your particular board. If there is space, or aliases, in the Index: linux-2.6.15/drivers/mtd/maps/physmap.c =================================================================== --- linux-2.6.15.orig/drivers/mtd/maps/physmap.c +++ linux-2.6.15/drivers/mtd/maps/physmap.c @@ -51,6 +51,9 @@ static int __init init_physmap(void) static const char *rom_probe_types[] = { "cfi_probe", "jedec_probe", "map_rom", NULL }; const char **type; + if (!physmap_map.size) + return -EIO; + printk(KERN_NOTICE "physmap flash device: %lx at %lx\n", physmap_map.size, physmap_map.phys); physmap_map.virt = ioremap(physmap_map.phys, physmap_map.size);