add full duplex interface support
authorluowei <lw@rock-chips.com>
Wed, 9 Oct 2013 03:12:56 +0000 (11:12 +0800)
committerluowei <lw@rock-chips.com>
Wed, 9 Oct 2013 03:12:56 +0000 (11:12 +0800)
include/linux/spi/spi.h

index 70446587e718c41d51eb771a0de6e62bd5439985..fca9e9b494b67bb4c64dd7c973d0dadb3be9dbd3 100644 (file)
@@ -619,6 +619,21 @@ spi_read(struct spi_device *spi, void *buf, size_t len)
        return spi_sync(spi, &m);
 }
 
+static inline int
+spi_write_and_read(struct spi_device *spi, const void *tx_buf, void *rx_buf, size_t len)
+{
+       struct spi_transfer     t = {
+                       .tx_buf         = tx_buf,
+                       .rx_buf         = rx_buf,
+                       .len            = len,
+               };
+       struct spi_message      m;
+
+       spi_message_init(&m);
+       spi_message_add_tail(&t, &m);
+       return spi_sync(spi, &m);
+}
+
 /* this copies txbuf and rxbuf data; for small transfers only! */
 extern int spi_write_then_read(struct spi_device *spi,
                const void *txbuf, unsigned n_tx,