From c8acd6e01336e62357212e2c05b295bd687de1d3 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Sat, 3 Dec 2011 18:13:18 +0000 Subject: [PATCH] ar71xx: allow to pass part_probe types to the m25p80 driver SVN-Revision: 29411 --- ...o-pass-probe-types-via-platform-data.patch | 23 +++++++++++++++++++ .../102-mtd_m25p80_add_myloader_parser.patch | 6 ++--- .../104-mtd_m25p80_add_redboot_parser.patch | 2 +- .../109-mtd-wrt160nl-trx-parser.patch | 2 +- 4 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 target/linux/ar71xx/patches-2.6.39/100-mtd-m25p80-allow-to-pass-probe-types-via-platform-data.patch 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 00000000000..586dcf46a68 --- /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 149474bcc15..35c5a07a09f 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 dee3f6cc7d3..da6f1e14ebe 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 ea9460ae31c..838fe446cb8 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