This series does several bug fixes and clean ups against the intel-spi spi-nor driver, as well as enhancements to make the driver independent on the underlying BIOS/bootloader.
At present the driver uses the HW sequencer for the read/write/erase on all supported platforms, read_reg/write_reg for BXT, and the SW sequencer for read_reg/write_reg for BYT/LPT. The way the driver uses the HW and SW sequencer relies on some programmed register settings and hence creates unneeded dependencies with the underlying BIOS/bootloader. For example, the driver unfortunately does not work as expected when booting from Intel Baytrail FSP based bootloaders like U-Boot, as the Baytrail FSP does not set up some SPI controller settings to make the driver happy. Now such limitation has been removed with this series. Changes in v2: - Add stable kernel tags in the commit message (patch [03/10]) - Fix typo of 'operatoin' (patch [10/10]) - Add Mika Westerberg's 'Acked-by' tag Bin Meng (10): spi-nor: intel-spi: Fix number of protected range registers for BYT/LPT spi-nor: intel-spi: Remove useless 'buf' parameter in the HW/SW cycle spi-nor: intel-spi: Fix broken software sequencing codes spi-nor: intel-spi: Check transfer length in the HW/SW cycle spi-nor: intel-spi: Use SW sequencer for BYT/LPT spi-nor: intel-spi: Remove 'Atomic Cycle Sequence' in intel_spi_write() spi-nor: intel-spi: Don't assume OPMENU0/1 to be programmed by BIOS spi-nor: intel-spi: Remove the unnecessary HSFSTS register RW spi-nor: intel-spi: Rename swseq to swseq_reg in 'struct intel_spi' spi-nor: intel-spi: Fall back to use SW sequencer to erase drivers/mtd/spi-nor/intel-spi.c | 209 +++++++++++++++++++++++++++++----------- 1 file changed, 151 insertions(+), 58 deletions(-) -- 2.9.2