[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b2ccaf40-fe04-490f-a625-4c502c038627@roeck-us.net>
Date: Wed, 5 Jun 2024 14:29:37 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Joy Chakraborty <joychakr@...gle.com>,
Srinivas Kandagatla <srinivas.kandagatla@...aro.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>,
Lars-Peter Clausen <lars@...afoo.de>,
Sakari Ailus <sakari.ailus@...ux.intel.com>,
Bingbu Cao <bingbu.cao@...el.com>, Zhihao Cheng <chengzhihao1@...wei.com>,
Jerome Brunet <jbrunet@...libre.com>,
Martin Blumenstingl <martin.blumenstingl@...glemail.com>
Cc: linux-hwmon@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-iio@...r.kernel.org, linux-media@...r.kernel.org,
linux-i2c@...r.kernel.org, linux-gpio@...r.kernel.org,
linux-mtd@...ts.infradead.org, linux-rtc@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-amlogic@...ts.infradead.org,
linux-sunxi@...ts.linux.dev, linux-tegra@...r.kernel.org,
linux-usb@...r.kernel.org, manugautam@...gle.com
Subject: Re: [PATCH v1 01/17] hwmon: pmbus: adm1266: Change nvmem
reg_read/write return type
On 6/5/24 10:59, Joy Chakraborty wrote:
> Change nvmem read/write function definition return type to ssize_t.
>
> Signed-off-by: Joy Chakraborty <joychakr@...gle.com>
> ---
> drivers/hwmon/pmbus/adm1266.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/hwmon/pmbus/adm1266.c b/drivers/hwmon/pmbus/adm1266.c
> index 2c4d94cc8729..7eaab5a7b04c 100644
> --- a/drivers/hwmon/pmbus/adm1266.c
> +++ b/drivers/hwmon/pmbus/adm1266.c
> @@ -375,7 +375,7 @@ static int adm1266_nvmem_read_blackbox(struct adm1266_data *data, u8 *read_buff)
> return 0;
> }
>
> -static int adm1266_nvmem_read(void *priv, unsigned int offset, void *val, size_t bytes)
> +static ssize_t adm1266_nvmem_read(void *priv, unsigned int offset, void *val, size_t bytes)
> {
> struct adm1266_data *data = priv;
> int ret;
> @@ -395,7 +395,7 @@ static int adm1266_nvmem_read(void *priv, unsigned int offset, void *val, size_t
>
> memcpy(val, data->dev_mem + offset, bytes);
>
> - return 0;
> + return bytes;
> }
>
> static int adm1266_config_nvmem(struct adm1266_data *data)
The series doesn't explain what a driver is supposed to do if it
only transfers part of the data but not all of it due to an error,
or because the request exceeded the size of the media.
For example, this driver still returns an error code if it successfully
transferred some data but not all of it, or if more data was requested
than is available.
I didn't check other drivers, but I would assume that many of them
have the same or a similar problem.
Guenter
Powered by blists - more mailing lists