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 |
