ASoC: dapm: Don't use async I/O
authorMark Brown <broonie@kernel.org>
Mon, 15 Dec 2014 13:08:48 +0000 (13:08 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 6 Jan 2015 17:54:09 +0000 (17:54 +0000)
The only user of the async I/O support in ASoC is SPI which was using it to
avoid needless context thrashing and minimise controller runtime PM bounces.
The SPI framework has now been enhanced so that even normal spi_sync() calls
won't suffer these effects so we don't need to handle this in ASoC and in
fact it can be more efficient not to since we don't need to set up and tear
down the buffers needed to manage asynchronous I/O.

The async completions that DAPM does are left in place so drivers can use
them, they are very cheap if there is no asynchronous work queued.

Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-dapm.c

index ea49684..0be3ca5 100644 (file)
@@ -517,8 +517,8 @@ static int soc_dapm_update_bits(struct snd_soc_dapm_context *dapm,
 {
        if (!dapm->component)
                return -EIO;
-       return snd_soc_component_update_bits_async(dapm->component, reg,
-               mask, value);
+       return snd_soc_component_update_bits(dapm->component, reg,
+                                            mask, value);
 }
 
 static int soc_dapm_test_bits(struct snd_soc_dapm_context *dapm,