diff options
Diffstat (limited to 'drivers/mtd/maps/physmap.c')
| -rw-r--r-- | drivers/mtd/maps/physmap.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/mtd/maps/physmap.c b/drivers/mtd/maps/physmap.c index 829aa4bee54f..4c18b98a3110 100644 --- a/drivers/mtd/maps/physmap.c +++ b/drivers/mtd/maps/physmap.c | |||
| @@ -136,8 +136,12 @@ static int physmap_flash_probe(struct platform_device *dev) | |||
| 136 | simple_map_init(&info->map[i]); | 136 | simple_map_init(&info->map[i]); |
| 137 | 137 | ||
| 138 | probe_type = rom_probe_types; | 138 | probe_type = rom_probe_types; |
| 139 | for (; info->mtd[i] == NULL && *probe_type != NULL; probe_type++) | 139 | if (physmap_data->probe_type == NULL) { |
| 140 | info->mtd[i] = do_map_probe(*probe_type, &info->map[i]); | 140 | for (; info->mtd[i] == NULL && *probe_type != NULL; probe_type++) |
| 141 | info->mtd[i] = do_map_probe(*probe_type, &info->map[i]); | ||
| 142 | } else | ||
| 143 | info->mtd[i] = do_map_probe(physmap_data->probe_type, &info->map[i]); | ||
| 144 | |||
| 141 | if (info->mtd[i] == NULL) { | 145 | if (info->mtd[i] == NULL) { |
| 142 | dev_err(&dev->dev, "map_probe failed\n"); | 146 | dev_err(&dev->dev, "map_probe failed\n"); |
| 143 | err = -ENXIO; | 147 | err = -ENXIO; |
