--- a/drivers/mtd/redboot.c +++ b/drivers/mtd/redboot.c @@ -30,6 +30,8 @@ #include #include +#include + struct fis_image_desc { unsigned char name[16]; // Null terminated name uint32_t flash_base; // Address within FLASH of image @@ -47,7 +49,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) @@ -75,6 +78,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;