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

Aaron Sierra asierra at xes-inc.com
Wed Dec 17 08:19:15 PST 2014


----- Original Message -----
> From: "Brian Norris" <computersforpeace at gmail.com>
> Sent: Tuesday, December 16, 2014 8:37:00 PM
> 
> An old one, but I'm curious...
> 
> On Thu, Sep 25, 2014 at 12:20:08PM -0500, Aaron Sierra wrote:
> > 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.
> 
> Why can't the user just select map_rom instead?

Brian, that isn't an ideal requirement in our situation. Our single-board
computers can become read-only for all onboard non-volatile storage based
on a signal from the outside world (a backplane most often). We find it
helpful to be able to use a single device tree that works in read-write
and read-only environments.

-Aaron

> > 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