Fix config, set directory block to -1 for redboot.
[openwrt-10.03/.git] / target / linux / magicbox-2.6 / patches / 002-flash_map.patch
index 80382305130f16ab4e198876041ff66d4dc21913..5d29a047d5487f8609fb0c8866395a630253d8eb 100644 (file)
@@ -20,7 +20,7 @@ diff -urN linux.old/drivers/mtd/maps/Kconfig linux.dev/drivers/mtd/maps/Kconfig
 diff -urN linux.old/drivers/mtd/maps/magicmap.c linux.dev/drivers/mtd/maps/magicmap.c
 --- linux.old/drivers/mtd/maps/magicmap.c      1970-01-01 01:00:00.000000000 +0100
 +++ linux.dev/drivers/mtd/maps/magicmap.c      2006-08-30 06:52:34.000000000 +0200
-@@ -0,0 +1,112 @@
+@@ -0,0 +1,113 @@
 +/*
 + * magicmap.c: Copyleft 2005  Karol Lewandowski
 + *
@@ -43,7 +43,7 @@ diff -urN linux.old/drivers/mtd/maps/magicmap.c linux.dev/drivers/mtd/maps/magic
 +#include <linux/mtd/mtd.h>
 +#include <linux/mtd/map.h>
 +#include <linux/mtd/partitions.h>
-+#include <linux/config.h>
++#include <linux/autoconf.h>
 +#include <asm/io.h>
 +
 +static struct mtd_info *flash;
@@ -91,10 +91,11 @@ diff -urN linux.old/drivers/mtd/maps/magicmap.c linux.dev/drivers/mtd/maps/magic
 +      flash = do_map_probe("cfi_probe", &magic_map);
 +      if (flash) {
 +              flash->owner = THIS_MODULE;
-+              if (MTD_READ(flash, 12, sizeof(u32), &len, (char *) &size) ||
++              if (flash->read(flash, 12, sizeof(u32), &len, (char *) &size) ||
 +                      len != 4)
 +                      return -ENXIO;
-+              if ((size > 0) && (size < 0x400000)) {
++              size += 0x40; /* header size of the uImage */
++              if (size < 0x400000) {
 +                      /* skip to next erase block */
 +                      if (size & (flash->erasesize - 1)) {
 +                              size |= (flash->erasesize - 1);