Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
spi_message Struct Reference

#include <spi.h>

Data Fields

struct list_head transfers
struct spi_devicespi
unsigned is_dma_mapped:1
void(* complete )(void *context)
unsigned actual_length
int status
struct list_head queue

Detailed Description

struct spi_message - one multi-segment SPI transaction : list of transfer segments in this transaction : SPI device to which the transaction is queued : if true, the caller provided both dma and cpu virtual addresses for each transfer buffer : called to report transaction completions : the argument to complete() when it's called : the total number of bytes that were transferred in all successful segments : zero for success, else negative errno : for use by whichever driver currently owns the message : for use by whichever driver currently owns the message

A is used to execute an atomic sequence of data transfers, each represented by a struct spi_transfer. The sequence is "atomic" in the sense that no other spi_message may use that SPI bus until that sequence completes. On some systems, many such sequences can execute as as single programmed DMA transfer. On all systems, these messages are queued, and might complete after transactions to other devices. Messages sent to a given spi_device are alway executed in FIFO order.

The code that submits an spi_message (and its spi_transfers) to the lower layers is responsible for managing its memory. Zero-initialize every field you don't set up explicitly, to insulate against future API updates. After you submit a message and its transfers, ignore them until its completion callback.

Definition at line 541 of file spi.h.

Field Documentation

unsigned actual_length

Definition at line 562 of file spi.h.

void(* complete)(void *context)

Definition at line 560 of file spi.h.

Definition at line 561 of file spi.h.

unsigned is_dma_mapped

Definition at line 546 of file spi.h.

Definition at line 569 of file spi.h.

Definition at line 544 of file spi.h.

Definition at line 570 of file spi.h.

Definition at line 563 of file spi.h.

struct list_head transfers

Definition at line 542 of file spi.h.

The documentation for this struct was generated from the following file: