From a49f6565b34c7defbe66cd03c2cb04752ec4dbe6 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 23 Feb 2018 17:33:21 +0100 Subject: kernel: m25p80: allow fallback from spi_flash_read to regular SPI transfer Signed-off-by: Felix Fietkau --- ...allow-fallback-from-spi_flash_read-to-reg.patch | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 target/linux/generic/pending-4.14/450-mtd-m25p80-allow-fallback-from-spi_flash_read-to-reg.patch (limited to 'target/linux/generic/pending-4.14/450-mtd-m25p80-allow-fallback-from-spi_flash_read-to-reg.patch') diff --git a/target/linux/generic/pending-4.14/450-mtd-m25p80-allow-fallback-from-spi_flash_read-to-reg.patch b/target/linux/generic/pending-4.14/450-mtd-m25p80-allow-fallback-from-spi_flash_read-to-reg.patch new file mode 100644 index 0000000000..accd63df58 --- /dev/null +++ b/target/linux/generic/pending-4.14/450-mtd-m25p80-allow-fallback-from-spi_flash_read-to-reg.patch @@ -0,0 +1,36 @@ +From: Felix Fietkau +Date: Fri, 23 Feb 2018 17:12:16 +0100 +Subject: [PATCH] mtd: m25p80: allow fallback from spi_flash_read to regular + SPI transfer + +Some flash controllers, e.g. on the ath79 platform can support a fast +flash read via memory mapping, but only if the flash chip is in +3-byte address mode. + +Since spi_flash_read_supported does not have access to the same data as +spi_flash_read, the driver can't detect an unsupported call until m25p80 +has decided to use spi_flash_read. + +Allow the driver to indicate a fallback to a regular SPI transfer by +returning -EOPNOTSUPP + +Signed-off-by: Felix Fietkau +--- + +--- a/drivers/mtd/devices/m25p80.c ++++ b/drivers/mtd/devices/m25p80.c +@@ -170,9 +170,11 @@ static ssize_t m25p80_read(struct spi_no + msg.data_nbits = data_nbits; + + ret = spi_flash_read(spi, &msg); +- if (ret < 0) +- return ret; +- return msg.retlen; ++ if (ret != -EOPNOTSUPP) { ++ if (ret < 0) ++ return ret; ++ return msg.retlen; ++ } + } + + spi_message_init(&m); -- cgit v1.2.3