Re: How can I prevent MTD to access the end of a flash device ?

From: Franck Bui-Huu
Date: Sun Apr 23 2006 - 13:06:51 EST


Nicolas,

2005/11/22, Nicolas Pitre <nico@xxxxxxx>:
> On Tue, 22 Nov 2005, Franck wrote:
>
> > Hi,
> >
> > I have two questions that I can't answer by my own. I tried to look at
> > FAQ and documentation on MTD website but found no answer.
>
> Please consider using the MTD mailing list next time (you certainly read
> about it on the MTD web site).
>
> > First question is about size of flash. I have a Intel strataflash
> > whose size is 32MB but because of a buggy platform hardware I can't
> > access to the last 64KB of the flash. How can I make MTD module aware
> > of this new size. The restricted map size is initialized by my driver
> > but it doesn't seem to be used by MTD.
>
> The easiest thing to do is to define MTD partitions, the last one being
> the excluded flash area.
>

I hope you don't mind if I continue this thread 5 months later...I put
this issue in my TODO list and now I really need to fix it.

Your advice seems fine, but it brings some restrictions on flash
concatenations: for example, if I have 2 flashes of 32Mbytes, I need
to create 2 partitions whose sizes are 32M - 64K bytes but then I
can't concatenate these two partitions anymore since concatenation
works with mtd devices, not partitions, does it ?

It seems easier to simply probe the flash, then check for its size and
eventually restrict the end of it if needed:

*mtd = do_map_probe("xxx_probe", map);
while (mtd->size > 32Mb - 64Kb)
(*mtd)->size -= (*mtd)->erasesize;

But I don't know if the MTD layer allows this kind of operation, do you ?

Thanks
--
Franck
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/