[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aUYqSUvA9fF_n-0Y@debian-BULLSEYE-live-builder-AMD64>
Date: Sat, 20 Dec 2025 01:47:05 -0300
From: Marcelo Schmitt <marcelo.schmitt1@...il.com>
To: Petre Rodan <petre.rodan@...dimension.ro>
Cc: Jonathan Cameron <jic23@...nel.org>,
David Lechner <dlechner@...libre.com>,
Nuno Sá <nuno.sa@...log.com>,
Andy Shevchenko <andy@...nel.org>,
Andreas Klinger <ak@...klinger.de>, linux-iio@...r.kernel.org,
linux-kernel@...r.kernel.org,
Jonathan Cameron <Jonathan.Cameron@...wei.com>
Subject: Re: [PATCH 06/14] iio: pressure: mprls0025pa: memset rx_buf before
reading new data
On 12/18, Petre Rodan wrote:
> Zero out input buffer before reading the new conversion.
> Perform this operation in core instead of in the bus specific code.
>
> Signed-off-by: Petre Rodan <petre.rodan@...dimension.ro>
> ---
> drivers/iio/pressure/mprls0025pa.c | 2 ++
> drivers/iio/pressure/mprls0025pa_i2c.c | 1 -
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/pressure/mprls0025pa.c b/drivers/iio/pressure/mprls0025pa.c
> index 00b1ff1e50a8..7cc8dd0d8476 100644
> --- a/drivers/iio/pressure/mprls0025pa.c
> +++ b/drivers/iio/pressure/mprls0025pa.c
> @@ -16,6 +16,7 @@
> #include <linux/mod_devicetable.h>
> #include <linux/module.h>
> #include <linux/property.h>
> +#include <linux/string.h>
> #include <linux/units.h>
>
> #include <linux/gpio/consumer.h>
> @@ -239,6 +240,7 @@ static int mpr_read_pressure(struct mpr_data *data, s32 *press)
> }
> }
>
> + memset(data->rx_buf, 0, sizeof(data->rx_buf));
This is unusual and I don't think it's needed for the SPI path. Doesn't the I2C
subsystem overwrite the rx buffer with what it reads from the device?
> ret = data->ops->read(data, MPR_CMD_NOP, MPR_PKT_NOP_LEN);
> if (ret < 0)
> return ret;
> diff --git a/drivers/iio/pressure/mprls0025pa_i2c.c b/drivers/iio/pressure/mprls0025pa_i2c.c
> index a0bbc6af9283..0fe8cfe0d7e7 100644
> --- a/drivers/iio/pressure/mprls0025pa_i2c.c
> +++ b/drivers/iio/pressure/mprls0025pa_i2c.c
> @@ -25,7 +25,6 @@ static int mpr_i2c_read(struct mpr_data *data, const u8 unused, const u8 cnt)
> if (cnt > MPR_MEASUREMENT_RD_SIZE)
> return -EOVERFLOW;
>
> - memset(data->rx_buf, 0, MPR_MEASUREMENT_RD_SIZE);
> ret = i2c_master_recv(client, data->rx_buf, cnt);
> if (ret < 0)
> return ret;
Powered by blists - more mailing lists