linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] iio: prefer aligned_s64 timestamp (round 1)
@ 2025-04-18 19:58 David Lechner
  2025-04-18 19:58 ` [PATCH 01/10] iio: accel: sca3300: use struct with aligned_s64 timestamp David Lechner
                   ` (10 more replies)
  0 siblings, 11 replies; 18+ messages in thread
From: David Lechner @ 2025-04-18 19:58 UTC (permalink / raw)
  To: Jonathan Cameron, Nuno Sá, Andy Shevchenko, Eugen Hristev,
	Nicolas Ferre, Alexandre Belloni, Claudiu Beznea, Andreas Klinger,
	Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	Maxime Coquelin, Alexandre Torgue
  Cc: linux-iio, linux-kernel, linux-arm-kernel, imx, linux-stm32,
	David Lechner

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>



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2025-04-21 16:44 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-18 19:58 [PATCH 00/10] iio: prefer aligned_s64 timestamp (round 1) David Lechner
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).