I really like this. May I humbly request we auto-verify both erase and write operations to give the user feedback if an operation failed. Right now it can happen that erase or write fails and the user it not told about it.
Currently - jedec.c does this atleast - if different write functions do different things, that should be fixed (make them all do the same) - again @work and dont have the time to check, but: write_jedec: * Erases * Verifies erase * Writes each page, verifying each page after writing ... then you do a -v after that and youll end up near-triple-verifying stuff -- ok it's nice to be sure, but that's not very speedy, but ok for on-motherboard flashing.
I suggest that we have it like this: -e erases and verifies erase -w erases, writes (verifying each page...) and verifies write (as in with -wv now) -r reads -v verifies
Then i suggest we have some flag to disable all verifies (including the one in jedec.c checking each page write) in case one is using a slow external programmer. -n maybe (as in --no-verify)?