[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250418-iio-prefer-aligned_s64-timestamp-v1-0-4c6080710516@baylibre.com>
Date: Fri, 18 Apr 2025 14:58:19 -0500
From: David Lechner <dlechner@...libre.com>
To: Jonathan Cameron <jic23@...nel.org>,
Nuno Sá <nuno.sa@...log.com>,
Andy Shevchenko <andy@...nel.org>, Eugen Hristev <eugen.hristev@...aro.org>,
Nicolas Ferre <nicolas.ferre@...rochip.com>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
Claudiu Beznea <claudiu.beznea@...on.dev>,
Andreas Klinger <ak@...klinger.de>, Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>
Cc: linux-iio@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, imx@...ts.linux.dev,
linux-stm32@...md-mailman.stormreply.com,
David Lechner <dlechner@...libre.com>
Subject: [PATCH 00/10] iio: prefer aligned_s64 timestamp (round 1)
While reviewing the recent conversion to iio_push_to_buffers_with_ts(),
I found it very time-consuming to check the correctness of the buffers
passed to that function when they used an array with extra room at the
end for a timestamp. And we still managed find a few that were wrongly
sized or not properly aligned despite several efforts in the past to
audit these for correctness already.
Even though these ones look to be correct, it will still be easier for
future readers of the code if we follow the pattern of using a struct
with the array and timestamp instead.
For example, it is much easier to see that:
struct {
__be32 data[3];
aligned_s64 timestamp;
} buffer;
Is an array of 3 32-bit, big-endian raw values plus an aligned 64-bit
timestamp than:
/*
* 3 words for actual data, 1 word for padding for correct alignment
* of timestamp and 2 words for actual timestamp.
*/
__be32 buffer[6] __aligned(8);
There are plenty more drivers where we could make similar changes, but
this is enough for one week of reviews.
---
David Lechner (10):
iio: accel: sca3300: use struct with aligned_s64 timestamp
iio: adc: at91-sama5d2_adc: use struct with aligned_s64 timestamp
iio: adc: hx711: use struct with aligned_s64 timestamp
iio: adc: mxs-lradc-adc: use struct with aligned_s64 timestamp
iio: adc: stm32-adc: use struct with aligned_s64 timestamp
iio: adc: ti-adc0832: use struct with aligned_s64 timestamp
iio: adc: ti-adc12138: use struct with aligned_s64 timestamp
iio: adc: ti-ads124s08: use struct with aligned_s64 timestamp
iio: adc: ti-ads8688: use struct with aligned_s64 timestamp
iio: chemical: atlas-sensor: use struct with aligned_s64 timestamp
drivers/iio/accel/sca3300.c | 18 ++++++------------
drivers/iio/adc/at91-sama5d2_adc.c | 25 ++++++++++---------------
drivers/iio/adc/hx711.c | 11 +++++++----
drivers/iio/adc/mxs-lradc-adc.c | 13 ++++++++-----
drivers/iio/adc/stm32-adc.c | 12 ++++++++----
drivers/iio/adc/ti-adc0832.c | 15 +++++++--------
drivers/iio/adc/ti-adc12138.c | 12 ++++++++----
drivers/iio/adc/ti-ads124s08.c | 18 +++++++-----------
drivers/iio/adc/ti-ads8688.c | 12 ++++++++----
drivers/iio/chemical/atlas-sensor.c | 11 +++++++----
10 files changed, 76 insertions(+), 71 deletions(-)
---
base-commit: aff301f37e220970c2f301b5c65a8bfedf52058e
change-id: 20250418-iio-prefer-aligned_s64-timestamp-fee64ec55405
Best regards,
--
David Lechner <dlechner@...libre.com>
Powered by blists - more mailing lists