--- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c @@ -1122,7 +1122,9 @@ static int m25p_probe(struct spi_device /* partitions should match sector boundaries; and it may be good to * use readonly partitions for writeprotected sectors (BP2..BP0). */ - return mtd_device_parse_register(&flash->mtd, NULL, &ppdata, + return mtd_device_parse_register(&flash->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; size_t max_read_len; /* we'll likely add more ... use JEDEC IDs, etc */