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

Reply via email to