--- zzzz-none-000/linux-4.4.60/include/linux/spi/spi.h 2017-04-08 07:53:53.000000000 +0000 +++ scorpion-7490-727/linux-4.4.60/include/linux/spi/spi.h 2021-02-04 17:41:59.000000000 +0000 @@ -578,6 +578,12 @@ /*---------------------------------------------------------------------------*/ +enum spi_transfer_type { + SPI_TRANSFER_GENERIC = 0, + SPI_TRANSFER_FLASH_READ_CMD, + SPI_TRANSFER_FLASH_READ_DATA, +}; + /* * I/O INTERFACE between SPI controller and protocol drivers * @@ -690,12 +696,16 @@ unsigned cs_change:1; unsigned tx_nbits:3; unsigned rx_nbits:3; + unsigned verify:1; + unsigned fast_write:1; #define SPI_NBITS_SINGLE 0x01 /* 1bit transfer */ #define SPI_NBITS_DUAL 0x02 /* 2bits transfer */ #define SPI_NBITS_QUAD 0x04 /* 4bits transfer */ u8 bits_per_word; u16 delay_usecs; u32 speed_hz; + enum spi_transfer_type type; + bool dummy; struct list_head transfer_list; }; @@ -735,6 +745,7 @@ struct spi_device *spi; unsigned is_dma_mapped:1; + unsigned fast_read:1; /* REVISIT: we might want a flag affecting the behavior of the * last transfer ... allowing things like "read 16 bit length L"