diff options
author | Mark Brown <broonie@linaro.org> | 2013-10-10 17:25:23 -0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-10-14 17:09:26 -0400 |
commit | cd1b9dd0220d3c126b3b61c1f96f0832fc21fc61 (patch) | |
tree | 5f964cb904c26120d9302f54804d1e7645b15031 | |
parent | 7ccda983931f64e9c89a9b16e6d4adeb92817d96 (diff) |
regmap: spi: Handle async writes of only one buffer
If the value is zero then assume it has been included in the register data
and don't send anything, minimising the number of interactions with the
hardware.
Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r-- | drivers/base/regmap/regmap-spi.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/base/regmap/regmap-spi.c b/drivers/base/regmap/regmap-spi.c index 4c506bd940f3..37f12ae7aada 100644 --- a/drivers/base/regmap/regmap-spi.c +++ b/drivers/base/regmap/regmap-spi.c | |||
@@ -73,7 +73,8 @@ static int regmap_spi_async_write(void *context, | |||
73 | 73 | ||
74 | spi_message_init(&async->m); | 74 | spi_message_init(&async->m); |
75 | spi_message_add_tail(&async->t[0], &async->m); | 75 | spi_message_add_tail(&async->t[0], &async->m); |
76 | spi_message_add_tail(&async->t[1], &async->m); | 76 | if (val) |
77 | spi_message_add_tail(&async->t[1], &async->m); | ||
77 | 78 | ||
78 | async->m.complete = regmap_spi_complete; | 79 | async->m.complete = regmap_spi_complete; |
79 | async->m.context = async; | 80 | async->m.context = async; |