Re: [PATCH v1 06/17] misc: eeprom: at24: Change nvmem reg_read/write return type

From: Dan Carpenter
Date: Thu Jun 06 2024 - 06:13:08 EST


On Wed, Jun 05, 2024 at 05:59:50PM +0000, Joy Chakraborty wrote:
> Change nvmem read/write function definition return type to ssize_t.
>
> Signed-off-by: Joy Chakraborty <joychakr@xxxxxxxxxx>
> ---
> drivers/misc/eeprom/at24.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
> index 4bd4f32bcdab..0e8d92d6ab1e 100644
> --- a/drivers/misc/eeprom/at24.c
> +++ b/drivers/misc/eeprom/at24.c
> @@ -424,8 +424,9 @@ static ssize_t at24_regmap_write(struct at24_data *at24, const char *buf,
> return -ETIMEDOUT;
> }
>
> -static int at24_read(void *priv, unsigned int off, void *val, size_t count)
> +static ssize_t at24_read(void *priv, unsigned int off, void *val, size_t count)
> {
> + size_t bytes_read = count;
> struct at24_data *at24;
> struct device *dev;
> char *buf = val;
> @@ -465,11 +466,12 @@ static int at24_read(void *priv, unsigned int off, void *val, size_t count)
> if (unlikely(at24->read_post))
> at24->read_post(off, buf, i);
>
> - return 0;
> + return bytes_read;
> }

This is called like:

574 ret = at24_read(at24, 2, &val, 1);
575 if (ret || val != 11)
576 return;

So this breaks the driver.

regards,
dan carpenter