Loading include/linux/spi/spi.h +26 −32 Original line number Original line Diff line number Diff line Loading @@ -979,6 +979,30 @@ extern int spi_sync_locked(struct spi_device *spi, struct spi_message *message); extern int spi_bus_lock(struct spi_master *master); extern int spi_bus_lock(struct spi_master *master); extern int spi_bus_unlock(struct spi_master *master); extern int spi_bus_unlock(struct spi_master *master); /** * spi_sync_transfer - synchronous SPI data transfer * @spi: device with which data will be exchanged * @xfers: An array of spi_transfers * @num_xfers: Number of items in the xfer array * Context: can sleep * * Does a synchronous SPI data transfer of the given spi_transfer array. * * For more specific semantics see spi_sync(). * * Return: Return: zero on success, else a negative error code. */ static inline int spi_sync_transfer(struct spi_device *spi, struct spi_transfer *xfers, unsigned int num_xfers) { struct spi_message msg; spi_message_init_with_transfers(&msg, xfers, num_xfers); return spi_sync(spi, &msg); } /** /** * spi_write - SPI synchronous write * spi_write - SPI synchronous write * @spi: device to which data will be written * @spi: device to which data will be written Loading @@ -998,11 +1022,8 @@ spi_write(struct spi_device *spi, const void *buf, size_t len) .tx_buf = buf, .tx_buf = buf, .len = len, .len = len, }; }; struct spi_message m; spi_message_init(&m); return spi_sync_transfer(spi, &t, 1); spi_message_add_tail(&t, &m); return spi_sync(spi, &m); } } /** /** Loading @@ -1024,35 +1045,8 @@ spi_read(struct spi_device *spi, void *buf, size_t len) .rx_buf = buf, .rx_buf = buf, .len = len, .len = len, }; }; struct spi_message m; spi_message_init(&m); return spi_sync_transfer(spi, &t, 1); spi_message_add_tail(&t, &m); return spi_sync(spi, &m); } /** * spi_sync_transfer - synchronous SPI data transfer * @spi: device with which data will be exchanged * @xfers: An array of spi_transfers * @num_xfers: Number of items in the xfer array * Context: can sleep * * Does a synchronous SPI data transfer of the given spi_transfer array. * * For more specific semantics see spi_sync(). * * Return: Return: zero on success, else a negative error code. */ static inline int spi_sync_transfer(struct spi_device *spi, struct spi_transfer *xfers, unsigned int num_xfers) { struct spi_message msg; spi_message_init_with_transfers(&msg, xfers, num_xfers); return spi_sync(spi, &msg); } } /* this copies txbuf and rxbuf data; for small transfers only! */ /* this copies txbuf and rxbuf data; for small transfers only! */ Loading Loading
include/linux/spi/spi.h +26 −32 Original line number Original line Diff line number Diff line Loading @@ -979,6 +979,30 @@ extern int spi_sync_locked(struct spi_device *spi, struct spi_message *message); extern int spi_bus_lock(struct spi_master *master); extern int spi_bus_lock(struct spi_master *master); extern int spi_bus_unlock(struct spi_master *master); extern int spi_bus_unlock(struct spi_master *master); /** * spi_sync_transfer - synchronous SPI data transfer * @spi: device with which data will be exchanged * @xfers: An array of spi_transfers * @num_xfers: Number of items in the xfer array * Context: can sleep * * Does a synchronous SPI data transfer of the given spi_transfer array. * * For more specific semantics see spi_sync(). * * Return: Return: zero on success, else a negative error code. */ static inline int spi_sync_transfer(struct spi_device *spi, struct spi_transfer *xfers, unsigned int num_xfers) { struct spi_message msg; spi_message_init_with_transfers(&msg, xfers, num_xfers); return spi_sync(spi, &msg); } /** /** * spi_write - SPI synchronous write * spi_write - SPI synchronous write * @spi: device to which data will be written * @spi: device to which data will be written Loading @@ -998,11 +1022,8 @@ spi_write(struct spi_device *spi, const void *buf, size_t len) .tx_buf = buf, .tx_buf = buf, .len = len, .len = len, }; }; struct spi_message m; spi_message_init(&m); return spi_sync_transfer(spi, &t, 1); spi_message_add_tail(&t, &m); return spi_sync(spi, &m); } } /** /** Loading @@ -1024,35 +1045,8 @@ spi_read(struct spi_device *spi, void *buf, size_t len) .rx_buf = buf, .rx_buf = buf, .len = len, .len = len, }; }; struct spi_message m; spi_message_init(&m); return spi_sync_transfer(spi, &t, 1); spi_message_add_tail(&t, &m); return spi_sync(spi, &m); } /** * spi_sync_transfer - synchronous SPI data transfer * @spi: device with which data will be exchanged * @xfers: An array of spi_transfers * @num_xfers: Number of items in the xfer array * Context: can sleep * * Does a synchronous SPI data transfer of the given spi_transfer array. * * For more specific semantics see spi_sync(). * * Return: Return: zero on success, else a negative error code. */ static inline int spi_sync_transfer(struct spi_device *spi, struct spi_transfer *xfers, unsigned int num_xfers) { struct spi_message msg; spi_message_init_with_transfers(&msg, xfers, num_xfers); return spi_sync(spi, &msg); } } /* this copies txbuf and rxbuf data; for small transfers only! */ /* this copies txbuf and rxbuf data; for small transfers only! */ Loading