summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe Schultz <jschultz@xes-inc.com>2014-09-25 19:20:08 +0200
committerBrian Norris <computersforpeace@gmail.com>2015-01-10 08:22:40 +0100
commit3fc1cf5f0af4b625adff03c610f188fa8bc89911 (patch)
treed77f22181f6c5194b8e35171ee1c4fdb6b1638f1
parentmtd: map_ram: Enable mtdoops (diff)
downloadlinux-3fc1cf5f0af4b625adff03c610f188fa8bc89911.tar.xz
linux-3fc1cf5f0af4b625adff03c610f188fa8bc89911.zip
mtd: physmap_of: Add read-only fallback
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>
-rw-r--r--drivers/mtd/maps/physmap_of.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/mtd/maps/physmap_of.c b/drivers/mtd/maps/physmap_of.c
index f35cd2081314..ff26e979b1a1 100644
--- a/drivers/mtd/maps/physmap_of.c
+++ b/drivers/mtd/maps/physmap_of.c
@@ -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;