[PATCH] staging: iio: light: Fix compiler warning in tsl2563.c

Jonathan Cameron jic23 at cam.ac.uk
Fri Sep 2 09:11:13 UTC 2011



On 09/01/11 22:55, Dan Carpenter wrote:
> On Fri, Sep 02, 2011 at 12:24:13AM +0300, Maxin B. John wrote:
>> --- a/drivers/staging/iio/light/tsl2563.c
>> +++ b/drivers/staging/iio/light/tsl2563.c
>> @@ -225,9 +225,9 @@ static int tsl2563_read_id(struct tsl2563_chip *chip, u8 *id)
>>  
>>  	ret = i2c_smbus_read_byte_data(client, TSL2563_CMD | TSL2563_REG_ID);
>>  	if (ret < 0)
>> -		return ret;
>> +		return -EIO;
> 
> Don't overwrite the error code.  For example, the lower layers can
> return -EAGAIN and that's more useful than just returning -EIO every
> time.
> 
> Your fix works, but it's not very clean.  Just add a "*id = ret;"
> line before the "return 0;" and that's it.  (It doesn't make sense
> to pass a pointer to "id" and not use it).
> 
> (In other words, don't make any changes to the tsl2563_probe()
> function)
> 
>>  
>> -	return 0;
>> +	return ret;
>>  }
>> 
Yikes - I wonder why my various compilers don't throw that up.
Ah well Dan's fix is indeed the right one and what was intended.

Thanks,

Jonathan




More information about the devel mailing list