Re: [PATCH] eeprom: at24: Change nvmem stride to 1

From: Bartosz Golaszewski
Date: Mon Dec 04 2017 - 12:44:43 EST


2017-12-04 2:54 GMT+01:00 David Lechner <david@xxxxxxxxxxxxxx>:
> This changes the nvmem stride to 1.
>
> I am trying to use the nvram consumer apis to read a MAC address from an
> eeprom that has an offset that is not a multiple of 4, which causes an
> error currently.
>
> Signed-off-by: David Lechner <david@xxxxxxxxxxxxxx>
> ---
> drivers/misc/eeprom/at24.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
> index 305a7a4..f70d14c 100644
> --- a/drivers/misc/eeprom/at24.c
> +++ b/drivers/misc/eeprom/at24.c
> @@ -880,7 +880,7 @@ static int at24_probe(struct i2c_client *client, const struct i2c_device_id *id)
> at24->nvmem_config.reg_read = at24_read;
> at24->nvmem_config.reg_write = at24_write;
> at24->nvmem_config.priv = at24;
> - at24->nvmem_config.stride = 4;
> + at24->nvmem_config.stride = 1;
> at24->nvmem_config.word_size = 1;
> at24->nvmem_config.size = chip.byte_len;
>
> --
> 2.7.4
>

I can't find any documentation on what the stride config option does
in nvmem, but looking at the code it's only used for alignment checks
in nvmem core, so this patch should be ok. Still: I'm wondering if it
shouldn't depend on the size of the eeprom or if we shouldn't make the
chip you're using a special case.

@David: what is the chip you're using? Is it an at24mac402 by any
chance? Were you affected by the read problem we fixed recently[1][2]
in at24?

@Srinivas: any comments on that?

Thanks,
Bartosz

[1] http://patchwork.ozlabs.org/patch/841852/
[2] http://patchwork.ozlabs.org/patch/841876/