fixup the weird fis location for the Sidewinder
authorImre Kaloz <kaloz@openwrt.org>
Mon, 14 Jul 2008 00:30:33 +0000 (00:30 +0000)
committerImre Kaloz <kaloz@openwrt.org>
Mon, 14 Jul 2008 00:30:33 +0000 (00:30 +0000)
SVN-Revision: 11815

target/linux/ixp4xx/patches-2.6.26/116-sidewinder_fis_location.patch [new file with mode: 0644]

diff --git a/target/linux/ixp4xx/patches-2.6.26/116-sidewinder_fis_location.patch b/target/linux/ixp4xx/patches-2.6.26/116-sidewinder_fis_location.patch
new file mode 100644 (file)
index 0000000..718ef3c
--- /dev/null
@@ -0,0 +1,30 @@
+--- a/drivers/mtd/redboot.c
++++ b/drivers/mtd/redboot.c
+@@ -13,6 +13,8 @@
+ #include <linux/mtd/mtd.h>
+ #include <linux/mtd/partitions.h>
++#include <asm/mach-types.h>
++
+ struct fis_image_desc {
+     unsigned char name[16];      // Null terminated name
+     uint32_t    flash_base;    // Address within FLASH of image
+@@ -30,7 +32,8 @@
+       struct fis_list *next;
+ };
+-static int directory = CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK;
++int directory = CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK;
++
+ module_param(directory, int, 0);
+ static inline int redboot_checksum(struct fis_image_desc *img)
+@@ -58,6 +61,8 @@
+ #ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
+       static char nullstring[] = "unallocated";
+ #endif
++      if (machine_is_sidewinder())
++              directory = -5;
+       if ( directory < 0 ) {
+               offset = master->size + directory * master->erasesize;