diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-06-22 13:04:02 +0100 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-07-03 20:11:00 +0100 |
commit | 38cbf9598feba97de9f9b43efa9153fd7c1a2ec9 (patch) | |
tree | 8d5040b8824becf1684a24348d14c96aba9e33f9 /sound/soc/soc-core.c | |
parent | 081413f206876e9d3755e1673828c7742fd00184 (diff) | |
download | blackbird-op-linux-38cbf9598feba97de9f9b43efa9153fd7c1a2ec9.tar.gz blackbird-op-linux-38cbf9598feba97de9f9b43efa9153fd7c1a2ec9.zip |
ASoC: core: Try to use regmap if the driver doesn't set up any I/O
Since most new drivers are expected to use regmap and since frequently the
only thing we need to do in the CODEC probe function is configure the I/O
try to initialise the register I/O using regmap if the driver hasn't done
so after probe().
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Diffstat (limited to 'sound/soc/soc-core.c')
-rw-r--r-- | sound/soc/soc-core.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index fe16135250f8..64b464ca3bc5 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -1095,6 +1095,10 @@ static int soc_probe_codec(struct snd_soc_card *card, } } + /* If the driver didn't set I/O up try regmap */ + if (!codec->control_data) + snd_soc_codec_set_cache_io(codec, 0, 0, SND_SOC_REGMAP); + if (driver->controls) snd_soc_add_codec_controls(codec, driver->controls, driver->num_controls); |