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

From: [email-masked] (Lee Jones)
Date: Thu, 26 Jul 2012 12:38:17 +0100

On 26/07/12 12:32, Mark Brown wrote:
> 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).

How much work is there involved in regmap:ing a device, so that 
dev_get_regmap() doesn't fail?

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog