summaryrefslogtreecommitdiffstats
path: root/target/linux/rdc/files/drivers/mtd/maps/rdc3210.c
diff options
context:
space:
mode:
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-09-16 10:57:29 +0000
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-09-16 10:57:29 +0000
commitb4349980400f497c52e5d3ebc6a83d32bcb90d8d (patch)
tree1ddab9a2bd8e52b296841d88451f4bcd65cabb20 /target/linux/rdc/files/drivers/mtd/maps/rdc3210.c
parent9bd98df3773f0ce9987e7ef316242c54336649f9 (diff)
Add support for the D-Link DIR-450, thanks to Macpaul Lin !
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8790 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/rdc/files/drivers/mtd/maps/rdc3210.c')
-rw-r--r--target/linux/rdc/files/drivers/mtd/maps/rdc3210.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/target/linux/rdc/files/drivers/mtd/maps/rdc3210.c b/target/linux/rdc/files/drivers/mtd/maps/rdc3210.c
index fb2a3f854..e04bb99f1 100644
--- a/target/linux/rdc/files/drivers/mtd/maps/rdc3210.c
+++ b/target/linux/rdc/files/drivers/mtd/maps/rdc3210.c
@@ -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
@@ -189,6 +198,10 @@ 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);
+
+#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;
}