On Thu, Jul 26, 2012 at 11:28:40AM +0100, Lee Jones wrote: > @@ -52,10 +52,13 @@ static unsigned int hw_read(struct snd_soc_codec *codec, > unsigned int reg) > if (codec->cache_only) > return -1; > > - ret = regmap_read(codec->control_data, reg, &val); > - if (ret == 0) > - return val; > - else > + if (codec->using_regmap) { > + ret = regmap_read(codec->control_data, reg, &val); > + if (ret == 0) > + return val; > + else > + return -1; > + } else
No, this makes no sense. There is no non-regmap I/O support in soc-io, anything using the soc-io hw_read() function must be using regmap. > case SND_SOC_REGMAP: > /* Device has made its own regmap arrangements */ > - codec->using_regmap = true; Again, this makes no sense. If we're explicitly being asked to use regmap then we should be using regmap or just failing to set up I/O (which is obviously a catastrophic failure).
signature.asc
Description: Digital signature