summaryrefslogtreecommitdiff
path: root/target/linux/ixp4xx/patches-2.6.27/116-sidewinder_fis_location.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ixp4xx/patches-2.6.27/116-sidewinder_fis_location.patch')
-rw-r--r--target/linux/ixp4xx/patches-2.6.27/116-sidewinder_fis_location.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/target/linux/ixp4xx/patches-2.6.27/116-sidewinder_fis_location.patch b/target/linux/ixp4xx/patches-2.6.27/116-sidewinder_fis_location.patch
new file mode 100644
index 0000000000..aae50dbc13
--- /dev/null
+++ b/target/linux/ixp4xx/patches-2.6.27/116-sidewinder_fis_location.patch
@@ -0,0 +1,30 @@
+--- a/drivers/mtd/redboot.c
++++ b/drivers/mtd/redboot.c
+@@ -13,6 +13,8 @@
+
+ #define BOARD_CONFIG_PART "boardconfig"
+
++#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)
+@@ -59,6 +62,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;