Re: [alsa-devel] [PATCH 2/3] ASoC: core: Set the default I/O up try regmap.

From: Lars-Peter Clausen
Date: Fri Feb 28 2014 - 03:15:37 EST


On 02/28/2014 08:50 AM, Li.Xiubo@xxxxxxxxxxxxx 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/