35 lines
793 B
Diff
35 lines
793 B
Diff
|
--- a/drivers/mtd/devices/m25p80.c
|
||
|
+++ b/drivers/mtd/devices/m25p80.c
|
||
|
@@ -530,6 +530,8 @@ static int m25p80_read(struct mtd_info *
|
||
|
if (dummy < 0) {
|
||
|
dev_err(&flash->spi->dev, "No valid read command supported\n");
|
||
|
return -EINVAL;
|
||
|
+ } else if (dummy == 1) {
|
||
|
+ t[0].dummy = true;
|
||
|
}
|
||
|
|
||
|
t[0].type = SPI_TRANSFER_FLASH_READ_CMD;
|
||
|
--- a/drivers/spi/spi-ath79.c
|
||
|
+++ b/drivers/spi/spi-ath79.c
|
||
|
@@ -262,6 +262,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
|
||
|
@@ -598,6 +598,7 @@ struct spi_transfer {
|
||
|
u16 delay_usecs;
|
||
|
u32 speed_hz;
|
||
|
enum spi_transfer_type type;
|
||
|
+ bool dummy;
|
||
|
|
||
|
struct list_head transfer_list;
|
||
|
};
|