'\" t .\" Title: struct spi_driver .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: January 2017 .\" Manual: Serial Peripheral Interface (SPI) .\" Source: Kernel Hackers Manual 4.8.15 .\" Language: English .\" .TH "STRUCT SPI_DRIVER" "9" "January 2017" "Kernel Hackers Manual 4\&.8\&." "Serial Peripheral Interface (S" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" struct_spi_driver \- Host side \(lqprotocol\(rq driver .SH "SYNOPSIS" .sp .nf struct spi_driver { const struct spi_device_id * id_table; int (* probe) (struct spi_device *spi); int (* remove) (struct spi_device *spi); void (* shutdown) (struct spi_device *spi); struct device_driver driver; }; .fi .SH "MEMBERS" .PP id_table .RS 4 List of SPI devices supported by this driver .RE .PP probe .RS 4 Binds this driver to the spi device\&. Drivers can verify that the device is actually present, and may need to configure characteristics (such as bits_per_word) which weren\*(Aqt needed for the initial configuration done during system setup\&. .RE .PP remove .RS 4 Unbinds this driver from the spi device .RE .PP shutdown .RS 4 Standard shutdown callback used during system state transitions such as powerdown/halt and kexec .RE .PP driver .RS 4 SPI device drivers should initialize the name and owner field of this structure\&. .RE .SH "DESCRIPTION" .PP This represents the kind of device driver that uses SPI messages to interact with the hardware at the other end of a SPI link\&. It\*(Aqs called a \(lqprotocol\(rq driver because it works through messages rather than talking directly to SPI hardware (which is what the underlying SPI controller driver does to pass those messages)\&. These protocols are defined in the specification for the device(s) supported by the driver\&. .PP As a rule, those device protocols represent the lowest level interface supported by a driver, and it will support upper level interfaces too\&. Examples of such upper levels include frameworks like MTD, networking, MMC, RTC, filesystem character device nodes, and hardware monitoring\&. .SH "COPYRIGHT" .br