The commit message became wall-of-text, my feeling is that I heavily reworked the code so I changed the author. If someone thinks differently, please say and I'll change back to the initial authorship. What I've done:
- minimize the amount of erase() calls by using the best sequence of erase type commands depending on alignment. - build the list of best fitted erase commands to be executed once we validate that the erase can be performed. - add improvements on how the erase map is handled. The regions are consecutive in the address space, walk through the regions incrementally. - speed up finding the best erase type command. Order erase types by size, iterate them from the biggest to the smallest and stop when best fitted command is found. - determine at init if there are erase types that can erase the entire memory - fix the erase size in overlaid regions. S25FS512S states that 'if a sector erase command is applied to a 256KB range that is overlaid by 4KB secors, the overlaid 4kB sectors are not affected by the erase' Backward compatibility test done on MX25L25673G. Changes since RFC PATCH: - build a list of erase commands to be executed once we validate that the erase can be performed - fix walking through the address space in overlaid regions - drop wall-of-text description commit message, change author Tudor Ambarus (1): mtd: spi-nor: add support to non-uniform SFDP SPI NOR flash memories drivers/mtd/spi-nor/spi-nor.c | 357 ++++++++++++++++++++++++++++++++++++++++-- include/linux/mtd/spi-nor.h | 108 +++++++++++++ 2 files changed, 451 insertions(+), 14 deletions(-) -- 2.9.4