diff options
author | Sourav Poddar <[email protected]> | 2013-07-18 15:31:25 +0530 |
---|---|---|
committer | Mark Brown <[email protected]> | 2013-07-18 16:22:01 +0100 |
commit | 078726ce6d56a767533064e0f2f2100d7cb6fc22 (patch) | |
tree | d5b74c5b42ae49a9fcc0eabcc922c6309fe8eb8c | |
parent | ad81f0545ef01ea651886dddac4bef6cec930092 (diff) |
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 <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
-rw-r--r-- | drivers/spi/spi.c | 1 | ||||
-rw-r--r-- | include/linux/spi/spi.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 978dda2c5239..7e3446cab72f 100644 --- a/drivers/spi/spi.c +++ b/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) diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h index 28e440be1c07..aadd0a885a0f 100644 --- a/include/linux/spi/spi.h +++ b/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; |