ar71xx: Add kernel 4.9 support
[openwrt/staging/mkresin.git] / target / linux / ar71xx / patches-4.9 / 407-mtd-m25p80-allow-to-pass-probe-types-via-platform-data.patch
diff --git a/target/linux/ar71xx/patches-4.9/407-mtd-m25p80-allow-to-pass-probe-types-via-platform-data.patch b/target/linux/ar71xx/patches-4.9/407-mtd-m25p80-allow-to-pass-probe-types-via-platform-data.patch
new file mode 100644 (file)
index 0000000..4fa957e
--- /dev/null
@@ -0,0 +1,34 @@
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -192,6 +192,7 @@ static ssize_t m25p80_read(struct spi_no
+  */
+ static int m25p_probe(struct spi_device *spi)
+ {
++      struct mtd_part_parser_data     ppdata = {0,};
+       struct flash_platform_data      *data;
+       struct m25p *flash;
+       struct spi_nor *nor;
+@@ -244,8 +245,11 @@ static int m25p_probe(struct spi_device
+       if (ret)
+               return ret;
+-      return mtd_device_register(&nor->mtd, data ? data->parts : NULL,
+-                                 data ? data->nr_parts : 0);
++      return mtd_device_parse_register(&nor->mtd,
++                      data ? data->part_probes : NULL,
++                      &ppdata,
++                      data ? data->parts : NULL,
++                      data ? data->nr_parts : 0);
+ }
+--- 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 */
+ };