update flash map driver for jffs2, squashfs will follow later
SVN-Revision: 4710
This commit is contained in:
parent
dfc990dfef
commit
d61fa4ec2a
1 changed files with 29 additions and 20 deletions
|
@ -1,6 +1,6 @@
|
||||||
diff -Nur linux-2.6.17/drivers/mtd/maps/Kconfig linux-2.6.17-owrt/drivers/mtd/maps/Kconfig
|
diff -urN linux.old/drivers/mtd/maps/Kconfig linux.dev/drivers/mtd/maps/Kconfig
|
||||||
--- linux-2.6.17/drivers/mtd/maps/Kconfig 2006-06-18 03:49:35.000000000 +0200
|
--- linux.old/drivers/mtd/maps/Kconfig 2006-08-30 06:30:59.000000000 +0200
|
||||||
+++ linux-2.6.17-owrt/drivers/mtd/maps/Kconfig 2006-08-25 23:33:05.000000000 +0200
|
+++ linux.dev/drivers/mtd/maps/Kconfig 2006-08-30 06:11:51.000000000 +0200
|
||||||
@@ -323,6 +323,15 @@
|
@@ -323,6 +323,15 @@
|
||||||
Walnut board. If you have one of these boards and would like to
|
Walnut board. If you have one of these boards and would like to
|
||||||
use the flash chips on it, say 'Y'.
|
use the flash chips on it, say 'Y'.
|
||||||
|
@ -17,10 +17,10 @@ diff -Nur linux-2.6.17/drivers/mtd/maps/Kconfig linux-2.6.17-owrt/drivers/mtd/ma
|
||||||
config MTD_EBONY
|
config MTD_EBONY
|
||||||
tristate "Flash devices mapped on IBM 440GP Ebony"
|
tristate "Flash devices mapped on IBM 440GP Ebony"
|
||||||
depends on MTD_JEDECPROBE && EBONY
|
depends on MTD_JEDECPROBE && EBONY
|
||||||
diff -Nur linux-2.6.17/drivers/mtd/maps/magicmap.c linux-2.6.17-owrt/drivers/mtd/maps/magicmap.c
|
diff -urN linux.old/drivers/mtd/maps/magicmap.c linux.dev/drivers/mtd/maps/magicmap.c
|
||||||
--- linux-2.6.17/drivers/mtd/maps/magicmap.c 1970-01-01 01:00:00.000000000 +0100
|
--- linux.old/drivers/mtd/maps/magicmap.c 1970-01-01 01:00:00.000000000 +0100
|
||||||
+++ linux-2.6.17-owrt/drivers/mtd/maps/magicmap.c 2006-08-25 23:33:05.000000000 +0200
|
+++ linux.dev/drivers/mtd/maps/magicmap.c 2006-08-30 06:52:34.000000000 +0200
|
||||||
@@ -0,0 +1,102 @@
|
@@ -0,0 +1,112 @@
|
||||||
+/*
|
+/*
|
||||||
+ * magicmap.c: Copyleft 2005 Karol Lewandowski
|
+ * magicmap.c: Copyleft 2005 Karol Lewandowski
|
||||||
+ *
|
+ *
|
||||||
|
@ -57,21 +57,16 @@ diff -Nur linux-2.6.17/drivers/mtd/maps/magicmap.c linux-2.6.17-owrt/drivers/mtd
|
||||||
+
|
+
|
||||||
+static struct mtd_partition magic_partitions[] = {
|
+static struct mtd_partition magic_partitions[] = {
|
||||||
+ {
|
+ {
|
||||||
+ .name = "kernel",
|
+ .name = "linux",
|
||||||
+ .offset = 0x0,
|
+ .offset = 0x0,
|
||||||
+ .size = 0x0e0000,
|
+ .size = 0x3c0000,
|
||||||
+ },
|
+ },
|
||||||
+ {
|
+ {
|
||||||
+ .name = "ramdisk",
|
+ .name = "rootfs",
|
||||||
+ .offset = 0x0e0000,
|
+ .offset = 0x100000,
|
||||||
+ .size = 0x2c0000,
|
+ .size = 0x2c0000,
|
||||||
+ },
|
+ },
|
||||||
+ {
|
+ {
|
||||||
+ .name = "persistent",
|
|
||||||
+ .offset = 0x3a0000,
|
|
||||||
+ .size = 0x020000,
|
|
||||||
+ },
|
|
||||||
+ {
|
|
||||||
+ .name = "bootloader",
|
+ .name = "bootloader",
|
||||||
+ .offset = 0x3c0000,
|
+ .offset = 0x3c0000,
|
||||||
+ .size = 0x040000,
|
+ .size = 0x040000,
|
||||||
|
@ -81,6 +76,8 @@ diff -Nur linux-2.6.17/drivers/mtd/maps/magicmap.c linux-2.6.17-owrt/drivers/mtd
|
||||||
+
|
+
|
||||||
+int __init init_magic(void)
|
+int __init init_magic(void)
|
||||||
+{
|
+{
|
||||||
|
+ u32 size, len;
|
||||||
|
+
|
||||||
+ magic_map.virt =
|
+ magic_map.virt =
|
||||||
+ (void __iomem *)ioremap(magic_map.phys, magic_map.size);
|
+ (void __iomem *)ioremap(magic_map.phys, magic_map.size);
|
||||||
+
|
+
|
||||||
|
@ -94,6 +91,19 @@ diff -Nur linux-2.6.17/drivers/mtd/maps/magicmap.c linux-2.6.17-owrt/drivers/mtd
|
||||||
+ flash = do_map_probe("cfi_probe", &magic_map);
|
+ flash = do_map_probe("cfi_probe", &magic_map);
|
||||||
+ if (flash) {
|
+ if (flash) {
|
||||||
+ flash->owner = THIS_MODULE;
|
+ flash->owner = THIS_MODULE;
|
||||||
|
+ if (MTD_READ(flash, 12, sizeof(u32), &len, (char *) &size) ||
|
||||||
|
+ len != 4)
|
||||||
|
+ return -ENXIO;
|
||||||
|
+ if ((size > 0) && (size < 0x400000)) {
|
||||||
|
+ /* skip to next erase block */
|
||||||
|
+ if (size & (flash->erasesize - 1)) {
|
||||||
|
+ size |= (flash->erasesize - 1);
|
||||||
|
+ size += 1;
|
||||||
|
+ }
|
||||||
|
+ magic_partitions[1].offset = size;
|
||||||
|
+ magic_partitions[1].size = magic_partitions[2].offset - size;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
+ add_mtd_partitions(flash, magic_partitions,
|
+ add_mtd_partitions(flash, magic_partitions,
|
||||||
+ ARRAY_SIZE(magic_partitions));
|
+ ARRAY_SIZE(magic_partitions));
|
||||||
+ } else {
|
+ } else {
|
||||||
|
@ -123,9 +133,9 @@ diff -Nur linux-2.6.17/drivers/mtd/maps/magicmap.c linux-2.6.17-owrt/drivers/mtd
|
||||||
+MODULE_LICENSE("GPL");
|
+MODULE_LICENSE("GPL");
|
||||||
+MODULE_AUTHOR("Karol Lewandowski");
|
+MODULE_AUTHOR("Karol Lewandowski");
|
||||||
+MODULE_DESCRIPTION("MTD map and partitions for IBM 405EP MagicBox boards");
|
+MODULE_DESCRIPTION("MTD map and partitions for IBM 405EP MagicBox boards");
|
||||||
diff -Nur linux-2.6.17/drivers/mtd/maps/Makefile linux-2.6.17-owrt/drivers/mtd/maps/Makefile
|
diff -urN linux.old/drivers/mtd/maps/Makefile linux.dev/drivers/mtd/maps/Makefile
|
||||||
--- linux-2.6.17/drivers/mtd/maps/Makefile 2006-06-18 03:49:35.000000000 +0200
|
--- linux.old/drivers/mtd/maps/Makefile 2006-08-30 06:30:59.000000000 +0200
|
||||||
+++ linux-2.6.17-owrt/drivers/mtd/maps/Makefile 2006-08-25 23:33:05.000000000 +0200
|
+++ linux.dev/drivers/mtd/maps/Makefile 2006-08-30 06:11:51.000000000 +0200
|
||||||
@@ -58,6 +58,7 @@
|
@@ -58,6 +58,7 @@
|
||||||
obj-$(CONFIG_MTD_BEECH) += beech-mtd.o
|
obj-$(CONFIG_MTD_BEECH) += beech-mtd.o
|
||||||
obj-$(CONFIG_MTD_ARCTIC) += arctic-mtd.o
|
obj-$(CONFIG_MTD_ARCTIC) += arctic-mtd.o
|
||||||
|
@ -134,4 +144,3 @@ diff -Nur linux-2.6.17/drivers/mtd/maps/Makefile linux-2.6.17-owrt/drivers/mtd/m
|
||||||
obj-$(CONFIG_MTD_H720X) += h720x-flash.o
|
obj-$(CONFIG_MTD_H720X) += h720x-flash.o
|
||||||
obj-$(CONFIG_MTD_SBC8240) += sbc8240.o
|
obj-$(CONFIG_MTD_SBC8240) += sbc8240.o
|
||||||
obj-$(CONFIG_MTD_NOR_TOTO) += omap-toto-flash.o
|
obj-$(CONFIG_MTD_NOR_TOTO) += omap-toto-flash.o
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue