
This is a resend of the whole series rebased onto the latest head of the CFI tree.
Patch #3 is not actually present since it's too large to fit under the 40K limit. I've put it on a web server instead:
http://avr32linux.org/twiki/pub/Sandbox/UbootCfiCleanup/0003-cfi_flash-Reord...
I did a quick test on one of my avr32 boards and while it identified the flash just fine, it couldn't erase it. I think the flash chip needs to be unprotected, and the current code doesn't do this (it's kind of a quirk with the particular Atmel chip I'm using, AT49BV6416.) I'm planning to rework the code dealing with chip-specific quirks later on and add code to smack this chip on the head as needed. It also has a geometry reversal issue which is not detected properly by the current code (I think there's a reason this chip was quickly replaced by AT49BV642D, which doesn't have any of these problems.)
Haavard Skinnemoen (7): cfi_flash: Break long lines cfi_flash: Make some needlessly global functions static cfi_flash: Reorder functions and eliminate extra prototypes Implement __raw_{read,write}[bwl] on all architectures cfi_flash: Introduce read and write accessors Introduce map_physmem() and unmap_physmem() cfi_flash: Use map_physmem() and unmap_physmem()
drivers/mtd/cfi_flash.c | 1699 +++++++++++++++++++++++-------------------- include/asm-arm/io.h | 26 + include/asm-avr32/io.h | 32 + include/asm-blackfin/io.h | 26 + include/asm-i386/io.h | 26 + include/asm-m68k/io.h | 41 + include/asm-microblaze/io.h | 26 + include/asm-mips/io.h | 26 + include/asm-nios/io.h | 34 + include/asm-nios2/io.h | 34 + include/asm-ppc/io.h | 58 ++- 11 files changed, 1249 insertions(+), 779 deletions(-)