mtd: physmap_of: Add read-only fallback
authorJoe Schultz <jschultz@xes-inc.com>
Thu, 25 Sep 2014 17:20:08 +0000 (12:20 -0500)
committerBrian Norris <computersforpeace@gmail.com>
Sat, 10 Jan 2015 07:22:40 +0000 (23:22 -0800)
Previously, when probing a CFI chip which was write-protected at the
hardware level, the probe would fail due to the fact it could not put
the chip into QUERY mode. This would result in no MTD devices being
created.

Add a fallback to probe using the map_rom driver if the user-selected
probe fails.

Signed-off-by: Joe Schultz <jschultz@xes-inc.com>
Signed-off-by: Aaron Sierra <asierra@xes-inc.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/maps/physmap_of.c

index f35cd2081314d79f0c8742a7965f8868d624c764..ff26e979b1a17c243e1525adfceed3886d479ba1 100644 (file)
@@ -269,6 +269,16 @@ static int of_flash_probe(struct platform_device *dev)
                        info->list[i].mtd = obsolete_probe(dev,
                                                           &info->list[i].map);
                }
+
+               /* Fall back to mapping region as ROM */
+               if (!info->list[i].mtd) {
+                       dev_warn(&dev->dev,
+                               "do_map_probe() failed for type %s\n",
+                                probe_type);
+
+                       info->list[i].mtd = do_map_probe("map_rom",
+                                                        &info->list[i].map);
+               }
                mtd_list[i] = info->list[i].mtd;
 
                err = -ENXIO;
This page took 0.024685 seconds and 5 git commands to generate.