[PATCH v1 08/17] misc: eeprom: 93xx46: Change nvmem reg_read/write return type
Joy Chakraborty
joychakr at google.com
Wed Jun 5 10:59:52 PDT 2024
Change nvmem read/write function definition return type to ssize_t.
Signed-off-by: Joy Chakraborty <joychakr at google.com>
---
drivers/misc/eeprom/eeprom_93xx46.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/misc/eeprom/eeprom_93xx46.c b/drivers/misc/eeprom/eeprom_93xx46.c
index 45c8ae0db8f9..5d618a13fe5a 100644
--- a/drivers/misc/eeprom/eeprom_93xx46.c
+++ b/drivers/misc/eeprom/eeprom_93xx46.c
@@ -79,10 +79,11 @@ static inline bool has_quirk_extra_read_cycle(struct eeprom_93xx46_dev *edev)
return edev->pdata->quirks & EEPROM_93XX46_QUIRK_EXTRA_READ_CYCLE;
}
-static int eeprom_93xx46_read(void *priv, unsigned int off,
- void *val, size_t count)
+static ssize_t eeprom_93xx46_read(void *priv, unsigned int off,
+ void *val, size_t count)
{
struct eeprom_93xx46_dev *edev = priv;
+ size_t bytes_read = count;
char *buf = val;
int err = 0;
int bits;
@@ -158,7 +159,7 @@ static int eeprom_93xx46_read(void *priv, unsigned int off,
mutex_unlock(&edev->lock);
- return err;
+ return err < 0 ? err : bytes_read;
}
static int eeprom_93xx46_ew(struct eeprom_93xx46_dev *edev, int is_on)
@@ -258,12 +259,13 @@ eeprom_93xx46_write_word(struct eeprom_93xx46_dev *edev,
return ret;
}
-static int eeprom_93xx46_write(void *priv, unsigned int off,
+static ssize_t eeprom_93xx46_write(void *priv, unsigned int off,
void *val, size_t count)
{
struct eeprom_93xx46_dev *edev = priv;
char *buf = val;
int i, ret, step = 1;
+ size_t bytes_written = count;
if (unlikely(off >= edev->size))
return -EFBIG;
@@ -304,7 +306,7 @@ static int eeprom_93xx46_write(void *priv, unsigned int off,
/* erase/write disable */
eeprom_93xx46_ew(edev, 0);
- return ret;
+ return ret < 0 ? ret : bytes_written;
}
static int eeprom_93xx46_eral(struct eeprom_93xx46_dev *edev)
--
2.45.1.467.gbab1589fc0-goog
More information about the linux-amlogic
mailing list