diff options
Diffstat (limited to 'include/linux/spi/spi.h')
-rw-r--r-- | include/linux/spi/spi.h | 28 |
1 files changed, 4 insertions, 24 deletions
diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h index a0faa18f7b1b..9c4cd27f4685 100644 --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h | |||
@@ -245,6 +245,9 @@ struct spi_master { | |||
245 | */ | 245 | */ |
246 | u16 dma_alignment; | 246 | u16 dma_alignment; |
247 | 247 | ||
248 | /* spi_device.mode flags understood by this controller driver */ | ||
249 | u16 mode_bits; | ||
250 | |||
248 | /* Setup mode and clock, etc (spi driver may call many times). | 251 | /* Setup mode and clock, etc (spi driver may call many times). |
249 | * | 252 | * |
250 | * IMPORTANT: this may be called when transfers to another | 253 | * IMPORTANT: this may be called when transfers to another |
@@ -523,30 +526,7 @@ static inline void spi_message_free(struct spi_message *m) | |||
523 | kfree(m); | 526 | kfree(m); |
524 | } | 527 | } |
525 | 528 | ||
526 | /** | 529 | extern int spi_setup(struct spi_device *spi); |
527 | * spi_setup - setup SPI mode and clock rate | ||
528 | * @spi: the device whose settings are being modified | ||
529 | * Context: can sleep, and no requests are queued to the device | ||
530 | * | ||
531 | * SPI protocol drivers may need to update the transfer mode if the | ||
532 | * device doesn't work with its default. They may likewise need | ||
533 | * to update clock rates or word sizes from initial values. This function | ||
534 | * changes those settings, and must be called from a context that can sleep. | ||
535 | * Except for SPI_CS_HIGH, which takes effect immediately, the changes take | ||
536 | * effect the next time the device is selected and data is transferred to | ||
537 | * or from it. When this function returns, the spi device is deselected. | ||
538 | * | ||
539 | * Note that this call will fail if the protocol driver specifies an option | ||
540 | * that the underlying controller or its driver does not support. For | ||
541 | * example, not all hardware supports wire transfers using nine bit words, | ||
542 | * LSB-first wire encoding, or active-high chipselects. | ||
543 | */ | ||
544 | static inline int | ||
545 | spi_setup(struct spi_device *spi) | ||
546 | { | ||
547 | return spi->master->setup(spi); | ||
548 | } | ||
549 | |||
550 | 530 | ||
551 | /** | 531 | /** |
552 | * spi_async - asynchronous SPI transfer | 532 | * spi_async - asynchronous SPI transfer |