--- 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 { 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 @@ static int parse_redboot_partitions(stru #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;