aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/patches-4.14/407-mtd-m25p80-allow-to-pass-probe-types-via-platform-data.patch
blob: 13999064cb445fe2fbc896787b7a362e83ac3ea6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
@@ -235,6 +235,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;
@@ -300,8 +301,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
@@ -25,6 +25,7 @@ struct flash_platform_data {
 	unsigned int	nr_parts;
 
 	char		*type;
+	const char	**part_probes;
 
 	/* we'll likely add more ... use JEDEC IDs, etc */
 };