@@ -74,8 +74,8 @@ struct at25_data {
#define io_limit PAGE_SIZE /* bytes */
-static int at25_ee_read(void *priv, unsigned int offset,
- void *val, size_t count)
+static ssize_t at25_ee_read(void *priv, unsigned int offset,
+ void *val, size_t count)
{
struct at25_data *at25 = priv;
char *buf = val;
@@ -147,7 +147,7 @@ static int at25_ee_read(void *priv, unsigned int offset,
dev_dbg(&at25->spi->dev, "read %zu bytes at %d\n",
count, offset);
- return 0;
+ return count;
}
/* Read extra registers as ID or serial number */
@@ -195,10 +195,11 @@ static struct attribute *sernum_attrs[] = {
};
ATTRIBUTE_GROUPS(sernum);
-static int at25_ee_write(void *priv, unsigned int off, void *val, size_t count)
+static ssize_t at25_ee_write(void *priv, unsigned int off, void *val, size_t count)
{
struct at25_data *at25 = priv;
size_t maxsz = spi_max_transfer_size(at25->spi);
+ size_t bytes_written = count;
const char *buf = val;
int status = 0;
unsigned buf_size;
@@ -313,7 +314,7 @@ static int at25_ee_write(void *priv, unsigned int off, void *val, size_t count)
mutex_unlock(&at25->lock);
kfree(bounce);
- return status;
+ return status < 0 ? status : bytes_written;
}
/*-------------------------------------------------------------------------*/
Change nvmem read/write function definition return type to ssize_t. Signed-off-by: Joy Chakraborty <joychakr@google.com> --- drivers/misc/eeprom/at25.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)