|
@@ -136,8 +136,12 @@ static int physmap_flash_probe(struct platform_device *dev)
|
|
simple_map_init(&info->map[i]);
|
|
simple_map_init(&info->map[i]);
|
|
|
|
|
|
probe_type = rom_probe_types;
|
|
probe_type = rom_probe_types;
|
|
- for (; info->mtd[i] == NULL && *probe_type != NULL; probe_type++)
|
|
|
|
- info->mtd[i] = do_map_probe(*probe_type, &info->map[i]);
|
|
|
|
|
|
+ if (physmap_data->probe_type == NULL) {
|
|
|
|
+ for (; info->mtd[i] == NULL && *probe_type != NULL; probe_type++)
|
|
|
|
+ info->mtd[i] = do_map_probe(*probe_type, &info->map[i]);
|
|
|
|
+ } else
|
|
|
|
+ info->mtd[i] = do_map_probe(physmap_data->probe_type, &info->map[i]);
|
|
|
|
+
|
|
if (info->mtd[i] == NULL) {
|
|
if (info->mtd[i] == NULL) {
|
|
dev_err(&dev->dev, "map_probe failed\n");
|
|
dev_err(&dev->dev, "map_probe failed\n");
|
|
err = -ENXIO;
|
|
err = -ENXIO;
|