You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
911 B
34 lines
911 B
--- a/drivers/mtd/devices/m25p80.c
|
|
+++ b/drivers/mtd/devices/m25p80.c
|
|
@@ -194,6 +194,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;
|
|
@@ -246,8 +247,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 */
|
|
};
|
|
|