[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20241219174125.1a75a429@jic23-huawei>
Date: Thu, 19 Dec 2024 17:41:25 +0000
From: Jonathan Cameron <jic23@...nel.org>
To: Vasileios Amoiridis <vassilisamir@...il.com>
Cc: lars@...afoo.de, krzysztof.kozlowski@...aro.org, nuno.sa@...log.com,
u.kleine-koenig@...libre.com, abhashkumarjha123@...il.com,
jstephan@...libre.com, dlechner@...libre.com, jackoalan@...il.com,
k.wrona@...sung.com, linux-iio@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 1/4] iio: adc: dln2-adc: zero full struct instead of
just the padding
On Sat, 14 Dec 2024 20:14:18 +0100
Vasileios Amoiridis <vassilisamir@...il.com> wrote:
> Drop a minor optimization of zeroing the padding between data and
> timestamp and zero the whole structure. This is done in favor of
> simpler code, and in order to drop the usage of the internal private
> variable "scan_timestamp" of the struct iio_dev.
>
> Signed-off-by: Vasileios Amoiridis <vassilisamir@...il.com>
Applied.
thanks,
Jonathan
> ---
> drivers/iio/adc/dln2-adc.c | 21 ++-------------------
> 1 file changed, 2 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/iio/adc/dln2-adc.c b/drivers/iio/adc/dln2-adc.c
> index 30328626d9be..221a5fdc1eaa 100644
> --- a/drivers/iio/adc/dln2-adc.c
> +++ b/drivers/iio/adc/dln2-adc.c
> @@ -66,8 +66,6 @@ struct dln2_adc {
> /* Demux table */
> unsigned int demux_count;
> struct dln2_adc_demux_table demux[DLN2_ADC_MAX_CHANNELS];
> - /* Precomputed timestamp padding offset and length */
> - unsigned int ts_pad_offset, ts_pad_length;
> };
>
> struct dln2_adc_port_chan {
> @@ -111,8 +109,6 @@ static void dln2_adc_update_demux(struct dln2_adc *dln2)
> if (iio_get_masklength(indio_dev) &&
> (*indio_dev->active_scan_mask & 0xff) == 0xff) {
> dln2_adc_add_demux(dln2, 0, 0, 16);
> - dln2->ts_pad_offset = 0;
> - dln2->ts_pad_length = 0;
> return;
> }
>
> @@ -127,16 +123,6 @@ static void dln2_adc_update_demux(struct dln2_adc *dln2)
> out_loc += 2;
> in_loc += 2;
> }
> -
> - if (indio_dev->scan_timestamp) {
> - size_t ts_offset = indio_dev->scan_bytes / sizeof(int64_t) - 1;
> -
> - dln2->ts_pad_offset = out_loc;
> - dln2->ts_pad_length = ts_offset * sizeof(int64_t) - out_loc;
> - } else {
> - dln2->ts_pad_offset = 0;
> - dln2->ts_pad_length = 0;
> - }
> }
>
> static int dln2_adc_get_chan_count(struct dln2_adc *dln2)
> @@ -494,6 +480,8 @@ static irqreturn_t dln2_adc_trigger_h(int irq, void *p)
> if (ret < 0)
> goto done;
>
> + memset(&data, 0, sizeof(data));
> +
> /* Demux operation */
> for (i = 0; i < dln2->demux_count; ++i) {
> t = &dln2->demux[i];
> @@ -501,11 +489,6 @@ static irqreturn_t dln2_adc_trigger_h(int irq, void *p)
> (void *)dev_data.values + t->from, t->length);
> }
>
> - /* Zero padding space between values and timestamp */
> - if (dln2->ts_pad_length)
> - memset((void *)data.values + dln2->ts_pad_offset,
> - 0, dln2->ts_pad_length);
> -
> iio_push_to_buffers_with_timestamp(indio_dev, &data,
> iio_get_time_ns(indio_dev));
>
Powered by blists - more mailing lists