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 ea496842ee83dab15ad1797c2c688f43260a4ade..0be3ca52eff325cdfd698e0f631bc524ef023c2e 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,