Hi all, Le 07/04/2016 16:39, P L Sai Krishna a écrit : > This patch adds dummy_cycles entry in the spi_transfer structure. > len field in the transfer structure contains dummy bytes along with > actual data bytes, controllers which requires dummy bytes use len > field and simply Ignore the dummy_cycles field. Controllers which > expects dummy cycles won't work directly by using len field because > host driver doesn't know that len field of a particular transfer > includes dummy bytes or not (and also number of dummy bytes included > in len field). In such cases host driver use this dummy_cycles field > to identify the number of dummy cycles and based on that it will send > the required number of dummy cycles. Dummy cycles are only used with SPI NOR flashes, aren't they? I guess so since there is also a patch dedicated to the m25p80 driver. So why not using the spi_flash_read() API already introduced by Vignesh in the SPI layer? struct spi_flash_read_message already includes a 'dummy_bytes' member. > > Signed-off-by: P L Sai Krishna <lakshmis@xxxxxxxxxx> > --- > v2: > - Changed the structure member name from dummy to dummy_cycles. > - Updated the documentation of dummy_cycles. > - m25p80 changes split into another patch. > > include/linux/spi/spi.h | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h > index 857a9a1..63135b3 100644 > --- a/include/linux/spi/spi.h > +++ b/include/linux/spi/spi.h > @@ -664,6 +664,9 @@ extern void spi_res_release(struct spi_master *master, > * @len: size of rx and tx buffers (in bytes) > * @speed_hz: Select a speed other than the device default for this > * transfer. If 0 the default (from @spi_device) is used. > + * @dummy_cycles: number of dummy cycles. If host controller requires > + * dummy cycles rather than dummy bytes which send along with Cmd > + * and address then this dummy_cycles is used. > * @bits_per_word: select a bits_per_word other than the device default > * for this transfer. If 0 the default (from @spi_device) is used. > * @cs_change: affects chipselect after this transfer completes > @@ -752,6 +755,7 @@ struct spi_transfer { > u8 bits_per_word; > u16 delay_usecs; > u32 speed_hz; > + u32 dummy_cycles; > > struct list_head transfer_list; > }; > Best regards, Cyrille -- To unsubscribe from this list: send the line "unsubscribe linux-spi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html