Messages in this thread | | | Date | Fri, 28 Feb 2014 09:15:37 +0100 | From | Lars-Peter Clausen <> | Subject | Re: [alsa-devel] [PATCH 2/3] ASoC: core: Set the default I/O up try regmap. |
| |
On 02/28/2014 08:50 AM, Li.Xiubo@freescale.com wrote: > >> >> A quick grep reveals: >> mc13783.c: codec->control_data = dev_get_regmap(codec->dev->parent, NULL); >> si476x.c: codec->control_data = dev_get_regmap(codec->dev->parent, NULL); >> wm5102.c: codec->control_data = priv->core.arizona->regmap; >> wm5110.c: codec->control_data = priv->core.arizona->regmap; >> wm8997.c: codec->control_data = priv->core.arizona->regmap; >> >> But there might be more. >> > > I have found the following ones, who are using MFD & set_cache_io. > > 1 143 sound/soc/codecs/cq93vc.c <<cq93vc_probe>> > snd_soc_codec_set_cache_io(codec, 32, 32, SND_SOC_REGMAP); > 2 618 sound/soc/codecs/mc13783.c <<mc13783_probe>> > ret = snd_soc_codec_set_cache_io(codec, 8, 24, SND_SOC_REGMAP); > 3 1765 sound/soc/codecs/wm5102.c <<wm5102_codec_probe>> > ret = snd_soc_codec_set_cache_io(codec, 32, 16, SND_SOC_REGMAP); > 4 1593 sound/soc/codecs/wm5110.c <<wm5110_codec_probe>> > ret = snd_soc_codec_set_cache_io(codec, 32, 16, SND_SOC_REGMAP); > 5 1510 sound/soc/codecs/wm8350.c <<wm8350_codec_probe>> > snd_soc_codec_set_cache_io(codec, 8, 16, SND_SOC_REGMAP); > 6 1322 sound/soc/codecs/wm8400.c <<wm8400_codec_probe>> > snd_soc_codec_set_cache_io(codec, 8, 16, SND_SOC_REGMAP); > 7 4004 sound/soc/codecs/wm8994.c <<wm8994_codec_probe>> > snd_soc_codec_set_cache_io(codec, 16, 16, SND_SOC_REGMAP); > 8 1058 sound/soc/codecs/wm8997.c <<wm8997_codec_probe>> > ret = snd_soc_codec_set_cache_io(codec, 32, 16, SND_SOC_REGMAP);
Yes, I think that's almost all of them. si476x is missing, but I think that one is currently broken, as it doesn't call snd_soc_codec_set_cache_io() at all.
As to how to handle those, I think there was a plan to add the possibility to assign a regmap to a device, so that dev_get_regmap() returns the regmap struct that should be used, even though the device itself did not allocate the regmap. But I can't find the details. Mark may know more about this.
- Lars
| |