Re: [PATCHv7 3/7] eeprom: at24: extend driver to plug into the NVMEM framework
From: Vladimir Zapolskiy
Date: Wed Mar 02 2016 - 18:03:13 EST
On 02.03.2016 23:48, Andrew Lunn wrote:
> On Wed, Mar 02, 2016 at 11:46:39PM +0200, Vladimir Zapolskiy wrote:
>> Hi Andrew,
>>
>> On 26.02.2016 21:59, Andrew Lunn wrote:
>>> Add a regmap for accessing the EEPROM, and then use that with the
>>> NVMEM framework. Set the NVMEM config structure to enable backward, so
>>> that the 'eeprom' file in sys is provided by the framework.
>>>
>>> Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
>>> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>
>>> Tested-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
>>> ---
>>
>> [snip]
>>
>>> +static int at24_regmap_read(void *context, const void *reg, size_t reg_size,
>>> + void *val, size_t val_size)
>>> +{
>>> + struct at24_data *at24 = context;
>>> + off_t offset = *(u32 *)reg;
>>> + int err;
>>> +
>>> + err = at24_read(at24, val, offset, val_size);
>>> + if (err)
>>> + return err;
>>> + return 0;
>>
>> return at24_read(at24, val, offset, val_size);
>>
>> Minus 5 LoC.
>
> And everything breaks :-(
>
> regmap expects either an error code, or 0. Return a positive value and
> it is not happy.
>
Well, do you agree that semantically my proposed change is equal to the
original one?
Let see...
static int at24_regmap_read() {
int err;
err = at24_read(at24, val, offset, val_size);
if (err)
return err;
return 0;
}
I don't see a check for (err <= 0) returned.
--
With best wishes,
Vladimir