X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/17c7b6c3fdc48301e50d22cc6138ede16bd1be24..d60b20b806678265553bd231b93e16ee77044b7c:/target/linux/rdc/files/drivers/mtd/maps/rdc3210.c diff --git a/target/linux/rdc/files/drivers/mtd/maps/rdc3210.c b/target/linux/rdc/files/drivers/mtd/maps/rdc3210.c index fb2a3f854..2c536ce70 100644 --- a/target/linux/rdc/files/drivers/mtd/maps/rdc3210.c +++ b/target/linux/rdc/files/drivers/mtd/maps/rdc3210.c @@ -15,7 +15,7 @@ #include #include #include -#include +#include static struct mtd_info *rdc3210_mtd; @@ -45,6 +45,15 @@ static struct mtd_partition rdc3210_parts[] = #error Unsupported configuration! #endif { name: "bootldr", offset: 0x001F0000, size: 0x00010000 }, + +#elif CONFIG_MTD_RDC3210_SIZE == 0x800000 + { name: "linux", offset: 0, size: 0x001F0000 }, /* 1984 KB */ + { name: "config", offset: 0x001F0000, size: 0x00010000 }, /* 64 KB */ + { name: "romfs", offset: 0x00200000, size: 0x005D0000 }, /* 5952 KB */ +#ifdef CONFIG_MTD_RDC3210_FACTORY_PRESENT + { name: "factory", offset: 0x007D0000, size: 0x00010000 }, /* 64 KB */ +#endif + { name: "bootldr", offset: 0x007E0000, size: 0x00010000 }, /* 64 KB */ #else #error Unsupported configuration! #endif @@ -188,7 +197,11 @@ static int erase_write (struct mtd_info *mtd, unsigned long pos, static int __init init_rdc3210_map(void) { rdc3210_map.phys = -rdc3210_map.size; - printk(KERN_NOTICE "flash device: %x at %x\n", rdc3210_map.size, rdc3210_map.phys); + printk(KERN_NOTICE "flash device: %lx at %x\n", rdc3210_map.size, rdc3210_map.phys); + +#if CONFIG_MTD_RDC3210_SIZE == 0x800000 + simple_map_init(&rdc3210_map); +#endif rdc3210_map.map_priv_1 = (unsigned long)(rdc3210_map.virt = ioremap_nocache(rdc3210_map.phys, rdc3210_map.size)); @@ -201,7 +214,7 @@ static int __init init_rdc3210_map(void) #ifdef CONFIG_MTD_RDC3210_STATIC_MAP /* Dante: This is for fixed map */ if (rdc3210_mtd) { - rdc3210_mtd->module = THIS_MODULE; + rdc3210_mtd->owner = THIS_MODULE; add_mtd_partitions(rdc3210_mtd, rdc3210_parts, sizeof(rdc3210_parts)/sizeof(rdc3210_parts[0])); return 0; }