diff --git a/target/linux/ar71xx/patches-2.6.39/100-mtd-m25p80-allow-to-pass-probe-types-via-platform-data.patch b/target/linux/ar71xx/patches-2.6.39/100-mtd-m25p80-allow-to-pass-probe-types-via-platform-data.patch new file mode 100644 index 000000000..586dcf46a --- /dev/null +++ b/target/linux/ar71xx/patches-2.6.39/100-mtd-m25p80-allow-to-pass-probe-types-via-platform-data.patch @@ -0,0 +1,23 @@ +--- a/drivers/mtd/devices/m25p80.c ++++ b/drivers/mtd/devices/m25p80.c +@@ -968,6 +968,10 @@ static int __devinit m25p_probe(struct s + part_probes, &parts, 0); + } + ++ if (nr_parts <= 0 && data && data->part_probes) ++ nr_parts = parse_mtd_partitions(&flash->mtd, ++ data->part_probes, &parts, 0); ++ + if (nr_parts <= 0 && data && data->parts) { + parts = data->parts; + nr_parts = data->nr_parts; +--- a/include/linux/spi/flash.h ++++ b/include/linux/spi/flash.h +@@ -24,6 +24,7 @@ struct flash_platform_data { + unsigned int nr_parts; + + char *type; ++ const char **part_probes; + + /* we'll likely add more ... use JEDEC IDs, etc */ + }; diff --git a/target/linux/ar71xx/patches-2.6.39/102-mtd_m25p80_add_myloader_parser.patch b/target/linux/ar71xx/patches-2.6.39/102-mtd_m25p80_add_myloader_parser.patch index 149474bcc..35c5a07a0 100644 --- a/target/linux/ar71xx/patches-2.6.39/102-mtd_m25p80_add_myloader_parser.patch +++ b/target/linux/ar71xx/patches-2.6.39/102-mtd_m25p80_add_myloader_parser.patch @@ -1,8 +1,8 @@ --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c -@@ -968,6 +968,16 @@ static int __devinit m25p_probe(struct s - part_probes, &parts, 0); - } +@@ -972,6 +972,16 @@ static int __devinit m25p_probe(struct s + nr_parts = parse_mtd_partitions(&flash->mtd, + data->part_probes, &parts, 0); +#ifdef CONFIG_MTD_MYLOADER_PARTS + if (nr_parts <= 0) { diff --git a/target/linux/ar71xx/patches-2.6.39/104-mtd_m25p80_add_redboot_parser.patch b/target/linux/ar71xx/patches-2.6.39/104-mtd_m25p80_add_redboot_parser.patch index dee3f6cc7..da6f1e14e 100644 --- a/target/linux/ar71xx/patches-2.6.39/104-mtd_m25p80_add_redboot_parser.patch +++ b/target/linux/ar71xx/patches-2.6.39/104-mtd_m25p80_add_redboot_parser.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c -@@ -978,6 +978,15 @@ static int __devinit m25p_probe(struct s +@@ -982,6 +982,15 @@ static int __devinit m25p_probe(struct s } #endif diff --git a/target/linux/ar71xx/patches-2.6.39/109-mtd-wrt160nl-trx-parser.patch b/target/linux/ar71xx/patches-2.6.39/109-mtd-wrt160nl-trx-parser.patch index ea9460ae3..838fe446c 100644 --- a/target/linux/ar71xx/patches-2.6.39/109-mtd-wrt160nl-trx-parser.patch +++ b/target/linux/ar71xx/patches-2.6.39/109-mtd-wrt160nl-trx-parser.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c -@@ -987,6 +987,16 @@ static int __devinit m25p_probe(struct s +@@ -991,6 +991,16 @@ static int __devinit m25p_probe(struct s part_probes, &parts, 0); } #endif