RE: [PATCHv3 1/3] ASoC: codec: Simplify ASoC probe code.

From: Li.Xiubo@xxxxxxxxxxxxx
Date: Mon Mar 03 2014 - 02:24:48 EST


> > static int ak4535_probe(struct snd_soc_codec *codec)
> > {
> > - struct ak4535_priv *ak4535 = snd_soc_codec_get_drvdata(codec);
> > - int ret;
> > -
> > - codec->control_data = ak4535->regmap;
> > - ret = snd_soc_codec_set_cache_io(codec, 8, 8, SND_SOC_REGMAP);
> > - if (ret < 0) {
> > - dev_err(codec->dev, "Failed to set cache I/O: %d\n", ret);
> > - return ret;
> > - }
> > /* power on device */
> > ak4535_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
>
> Are you sure that the set_bias_level() call doesn't do anything with
> I/O? Can I suggest sending a patch that just does the drivers that only
> do set_cache_io() and nothing else in probe - that would be really quick
> and simple to fix.
>
> > - ret = snd_soc_codec_set_cache_io(codec, 8, 8, SND_SOC_REGMAP);
> > - if (ret < 0) {
> > - dev_err(codec->dev, "Failed to set cache I/O: %d\n", ret);
> > - return ret;
> > - }
> > -
> > /* Default to using ALC auto offset calibration mode. */
> > snd_soc_update_bits(codec, DA7213_ALC_CTRL1,
> > DA7213_ALC_CALIB_MODE_MAN, 0);
>
> This one will fail.

Sorry, I'm not very understand why will this fail ? Before the ASoC probe,
the ASoC core will set the I/O.
:)




--
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/