Accessing and talking to the client

The SPI I/O model consists of a set of queued messages. We submit one or more struct spi_message structures, which are processed and completed synchronously or asynchronously. A single message consists of one or more struct spi_transfer objects, each of which represents a full duplex SPI transfer. These are two main structures to exchange data between the driver and the device. They are both defined in include/linux/spi/spi.h:

SPI message structure

struct spi_transfer represents a full duplex SPI transfer:

struct spi_transfer { const void *tx_buf; void *rx_buf; unsigned len; dma_addr_t tx_dma; dma_addr_t ...

Get Linux Device Drivers Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.