[PATCH 1/2] mtd: physmap_of: Add read-only fallback

Aaron Sierra asierra at xes-inc.com
Thu Sep 25 10:20:08 PDT 2014


From: Joe Schultz <jschultz at xes-inc.com>

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 at xes-inc.com>
Signed-off-by: Aaron Sierra <asierra at xes-inc.com>
---
 drivers/mtd/maps/physmap_of.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/mtd/maps/physmap_of.c b/drivers/mtd/maps/physmap_of.c
index c62e1c3..efbf416 100644
--- a/drivers/mtd/maps/physmap_of.c
+++ b/drivers/mtd/maps/physmap_of.c
@@ -272,6 +272,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;
-- 
1.9.1




More information about the linux-mtd mailing list