summaryrefslogtreecommitdiff
path: root/drivers/mfd/mc13xxx-spi.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-11-08 10:43:31 +0000
committerMark Brown <broonie@linaro.org>2013-11-08 10:43:31 +0000
commitefdf09add98821380794a3318270bf07c7aff4d2 (patch)
tree942f3ed1a4bef6207543caea36f801e114b1a496 /drivers/mfd/mc13xxx-spi.c
parentc462b1d8bba7923d2df7c267283567039c212610 (diff)
parentbb7838d4f13c50df8ef7324f5fd4aeb729269e22 (diff)
Merge remote-tracking branch 'asoc/topic/mc13783' into asoc-next
Diffstat (limited to 'drivers/mfd/mc13xxx-spi.c')
-rw-r--r--drivers/mfd/mc13xxx-spi.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mfd/mc13xxx-spi.c b/drivers/mfd/mc13xxx-spi.c
index 77189daadf1e..5f14ef6693c2 100644
--- a/drivers/mfd/mc13xxx-spi.c
+++ b/drivers/mfd/mc13xxx-spi.c
@@ -94,10 +94,15 @@ static int mc13xxx_spi_write(void *context, const void *data, size_t count)
{
struct device *dev = context;
struct spi_device *spi = to_spi_device(dev);
+ const char *reg = data;
if (count != 4)
return -ENOTSUPP;
+ /* include errata fix for spi audio problems */
+ if (*reg == MC13783_AUDIO_CODEC || *reg == MC13783_AUDIO_DAC)
+ spi_write(spi, data, count);
+
return spi_write(spi, data, count);
}