From: Mark Brown Date: Wed, 1 Aug 2012 19:05:47 +0000 (+0100) Subject: ASoC: core: Fix check before defaulting to regmap X-Git-Tag: v3.6~72^2~48^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=98d3088e534a2a61f6690b5426909b0c3b57a785;p=platform%2Fkernel%2Flinux-amlogic.git ASoC: core: Fix check before defaulting to regmap Check if the chip has provided a write operation (which is mandatory for I/O) rather than looking for control data as some of the MFDs use a global for this. Also skip the attempt if there's no regmap available by device in case things get confused by the attempt to default. Signed-off-by: Mark Brown Tested-by: Peter Ujfalusi --- diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index f219b2f..f81c597 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -1096,7 +1096,7 @@ 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) + if (!codec->write && dev_get_regmap(codec->dev, NULL)) snd_soc_codec_set_cache_io(codec, 0, 0, SND_SOC_REGMAP); if (driver->controls)