5b34dffcbd
Signed-off-by: Felix Fietkau <nbd@nbd.name>
35 lines
831 B
Diff
35 lines
831 B
Diff
--- a/drivers/mtd/devices/m25p80.c
|
|
+++ b/drivers/mtd/devices/m25p80.c
|
|
@@ -159,6 +159,9 @@ static int m25p80_read(struct spi_nor *n
|
|
flash->command[0] = nor->read_opcode;
|
|
m25p_addr2cmd(nor, from, flash->command);
|
|
|
|
+ if (dummy == 1)
|
|
+ t[0].dummy = true;
|
|
+
|
|
t[0].type = SPI_TRANSFER_FLASH_READ_CMD;
|
|
t[0].tx_buf = flash->command;
|
|
t[0].len = m25p_cmdsz(nor) + dummy;
|
|
--- a/drivers/spi/spi-ath79.c
|
|
+++ b/drivers/spi/spi-ath79.c
|
|
@@ -268,6 +268,10 @@ static int ath79_spi_do_read_flash_cmd(s
|
|
sp->read_addr = 0;
|
|
|
|
len = t->len - 1;
|
|
+
|
|
+ if (t->dummy)
|
|
+ len -= 1;
|
|
+
|
|
p = t->tx_buf;
|
|
|
|
while (len--) {
|
|
--- a/include/linux/spi/spi.h
|
|
+++ b/include/linux/spi/spi.h
|
|
@@ -710,6 +710,7 @@ struct spi_transfer {
|
|
u16 delay_usecs;
|
|
u32 speed_hz;
|
|
enum spi_transfer_type type;
|
|
+ bool dummy;
|
|
|
|
struct list_head transfer_list;
|
|
};
|