X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/a213a58eeb0c9b6ca7c0c41f7926c89a7f4410a8..5b386e7073cfd724214e3210e28d0c218ee1112d:/target/linux/adm5120-2.6/files/drivers/mtd/maps/adm5120_mtd.c diff --git a/target/linux/adm5120-2.6/files/drivers/mtd/maps/adm5120_mtd.c b/target/linux/adm5120-2.6/files/drivers/mtd/maps/adm5120_mtd.c index a35392674..3abad32fa 100644 --- a/target/linux/adm5120-2.6/files/drivers/mtd/maps/adm5120_mtd.c +++ b/target/linux/adm5120-2.6/files/drivers/mtd/maps/adm5120_mtd.c @@ -43,6 +43,7 @@ #include #include #include +#include #ifdef CONFIG_MTD_PARTITIONS #include #endif @@ -391,10 +392,8 @@ init_mtd_partitions(struct mtd_info *mtd, size_t size) } /* find and size rootfs */ - if (find_root(mtd,size,&adm5120_cfe_parts[2])==0) { - adm5120_cfe_parts[2].size = size - adm5120_cfe_parts[2].offset - - adm5120_cfe_parts[3].size; - } + find_root(mtd,size,&adm5120_cfe_parts[2]); + adm5120_cfe_parts[2].size = size - adm5120_cfe_parts[2].offset - adm5120_cfe_parts[3].size; return adm5120_cfe_parts; } @@ -408,8 +407,12 @@ int __init init_adm5120_map(void) struct mtd_partition *parts; int i, parsed_nr_parts = 0; #endif - printk("adm5120 : flash init : 0x%08x 0x%08x\n", WINDOW_ADDR, WINDOW_SIZE); - adm5120_map.virt = ioremap_nocache(WINDOW_ADDR, WINDOW_SIZE); + + if (adm5120_nand_boot) + return -ENODEV; + + printk("adm5120 : flash init : 0x%08x 0x%08x\n", WINDOW_ADDR, adm5120_board.flash0_size); + adm5120_map.virt = ioremap_nocache(WINDOW_ADDR, adm5120_board.flash0_size); if (!adm5120_map.virt) { printk("Failed to ioremap\n"); @@ -434,7 +437,7 @@ int __init init_adm5120_map(void) #ifdef CONFIG_MTD_PARTITIONS - if (adm5120_boot_loader == BOOT_LOADER_CFE) + if (adm5120_boot_loader == BOOT_LOADER_CFE || adm5120_boot_loader == BOOT_LOADER_UNKNOWN) { printk(KERN_NOTICE "adm5120 : using CFE flash mapping\n"); parts = init_mtd_partitions(adm5120_mtd, size);