瀏覽代碼

driver: spi: Modify core to compute the message length

Make spi core calculate the message length while
populating the other transfer parameters.

Usecase, driver can use it to populate framelength filed in their
controller.

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Sourav Poddar 12 年之前
父節點
當前提交
078726ce6d
共有 2 個文件被更改,包括 2 次插入0 次删除
  1. 1 0
      drivers/spi/spi.c
  2. 1 0
      include/linux/spi/spi.h

+ 1 - 0
drivers/spi/spi.c

@@ -1375,6 +1375,7 @@ static int __spi_async(struct spi_device *spi, struct spi_message *message)
 	 * it is not set for this transfer.
 	 */
 	list_for_each_entry(xfer, &message->transfers, transfer_list) {
+		message->frame_length += xfer->len;
 		if (!xfer->bits_per_word)
 			xfer->bits_per_word = spi->bits_per_word;
 		if (!xfer->speed_hz)

+ 1 - 0
include/linux/spi/spi.h

@@ -578,6 +578,7 @@ struct spi_message {
 	/* completion is reported through a callback */
 	void			(*complete)(void *context);
 	void			*context;
+	unsigned		frame_length;
 	unsigned		actual_length;
 	int			status;