cfi_cmdset_0002 and writes

David Woodhouse dwmw2 at infradead.org
Wed Jul 18 18:04:35 EDT 2001


thockin at sun.com said:
>  The flash can be erased by 64k blocks.  Since it is flash, you can
> only reprogram '1' bits to '0' bits, and never vice versa.  What I
> don't find is any hooks in cfi_cmdset_0002 to read a whole block,
> erase it, make changes to the in-memory block and write it back to
> flash.

> How/where does it do this? 

It doesn't. Doing that kind of thing is scary and dangerous, and certainly
doesn't belong in the low-level driver. We have real filesystems and
translation layers which work on flash instead.

However, the primitive read/erase/modify/pray_we_don't_lose_power/writeback
behaviour you described is available in the 'mtdblock' driver, and it's sane
enough to use it if you only write to it during setup, then run it normally
in read-only mode.

--
dwmw2






More information about the linux-mtd mailing list