Message ID | 20240605175953.2613260-7-joychakr@google.com |
---|---|
State | New |
Headers | show |
Series | nvmem: Handle change of return type in reg_read/write() definition | expand |
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@google.com> > --- > 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
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; } -static int at24_write(void *priv, unsigned int off, void *val, size_t count) +static ssize_t at24_write(void *priv, unsigned int off, void *val, size_t count) { + size_t bytes_written = count; struct at24_data *at24; struct device *dev; char *buf = val; @@ -509,7 +511,7 @@ static int at24_write(void *priv, unsigned int off, void *val, size_t count) pm_runtime_put(dev); - return 0; + return bytes_written; } static int at24_make_dummy_client(struct at24_data *at24, unsigned int index,
Change nvmem read/write function definition return type to ssize_t. Signed-off-by: Joy Chakraborty <joychakr@google.com> --- drivers/misc/eeprom/at24.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)