From: David Lechner <dlechner@baylibre.com>
To: "Jonathan Cameron" <jic23@kernel.org>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
"Eugen Hristev" <eugen.hristev@linaro.org>,
"Nicolas Ferre" <nicolas.ferre@microchip.com>,
"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
"Claudiu Beznea" <claudiu.beznea@tuxon.dev>,
"Andreas Klinger" <ak@it-klinger.de>,
"Shawn Guo" <shawnguo@kernel.org>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Pengutronix Kernel Team" <kernel@pengutronix.de>,
"Fabio Estevam" <festevam@gmail.com>,
"Maxime Coquelin" <mcoquelin.stm32@gmail.com>,
"Alexandre Torgue" <alexandre.torgue@foss.st.com>
Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev,
linux-stm32@st-md-mailman.stormreply.com,
David Lechner <dlechner@baylibre.com>
Subject: [PATCH 00/10] iio: prefer aligned_s64 timestamp (round 1)
Date: Fri, 18 Apr 2025 14:58:19 -0500 [thread overview]
Message-ID: <20250418-iio-prefer-aligned_s64-timestamp-v1-0-4c6080710516@baylibre.com> (raw)
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@baylibre.com>
next reply other threads:[~2025-04-18 19:59 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-18 19:58 David Lechner [this message]
2025-04-18 19:58 ` [PATCH 01/10] iio: accel: sca3300: use struct with aligned_s64 timestamp David Lechner
2025-04-18 19:58 ` [PATCH 02/10] iio: adc: at91-sama5d2_adc: " David Lechner
2025-04-21 11:10 ` Jonathan Cameron
2025-04-18 19:58 ` [PATCH 03/10] iio: adc: hx711: " David Lechner
2025-04-21 11:11 ` Jonathan Cameron
2025-04-18 19:58 ` [PATCH 04/10] iio: adc: mxs-lradc-adc: " David Lechner
2025-04-21 11:13 ` Jonathan Cameron
2025-04-21 16:41 ` Andy Shevchenko
2025-04-18 19:58 ` [PATCH 05/10] iio: adc: stm32-adc: " David Lechner
2025-04-18 19:58 ` [PATCH 06/10] iio: adc: ti-adc0832: " David Lechner
2025-04-21 11:15 ` Jonathan Cameron
2025-04-18 19:58 ` [PATCH 07/10] iio: adc: ti-adc12138: " David Lechner
2025-04-18 19:58 ` [PATCH 08/10] iio: adc: ti-ads124s08: " David Lechner
2025-04-18 19:58 ` [PATCH 09/10] iio: adc: ti-ads8688: " David Lechner
2025-04-18 19:58 ` [PATCH 10/10] iio: chemical: atlas-sensor: " David Lechner
2025-04-18 23:05 ` [PATCH 00/10] iio: prefer aligned_s64 timestamp (round 1) David Lechner
2025-04-21 11:17 ` Jonathan Cameron
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250418-iio-prefer-aligned_s64-timestamp-v1-0-4c6080710516@baylibre.com \
--to=dlechner@baylibre.com \
--cc=ak@it-klinger.de \
--cc=alexandre.belloni@bootlin.com \
--cc=alexandre.torgue@foss.st.com \
--cc=andy@kernel.org \
--cc=claudiu.beznea@tuxon.dev \
--cc=eugen.hristev@linaro.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=jic23@kernel.org \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=nicolas.ferre@microchip.com \
--cc=nuno.sa@analog.com \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox