Re: [PATCH 07/21] ASoC: io: Prevent use of regmap if request fails

From: Mark Brown
Date: Thu Jul 26 2012 - 07:32:01 EST


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).

Attachment: signature.asc
Description: Digital signature