lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250318-iio-adc-ad7606-improvements-v2-0-4b605427774c@baylibre.com>
Date: Tue, 18 Mar 2025 17:52:08 -0500
From: David Lechner <dlechner@...libre.com>
To: Jonathan Cameron <jic23@...nel.org>, linux-iio@...r.kernel.org
Cc: Michael Hennerich <Michael.Hennerich@...log.com>, 
 Angelo Dureghello <adureghello@...libre.com>, 
 Alexandru Ardelean <aardelean@...libre.com>, 
 Beniamin Bia <beniamin.bia@...log.com>, 
 Stefan Popa <stefan.popa@...log.com>, linux-kernel@...r.kernel.org, 
 David Lechner <dlechner@...libre.com>, 
 Nuno Sá <nuno.sa@...log.com>
Subject: [PATCH v2 00/10] iio: adc: ad7606: improvements and ad7606c
 parallel interface support

The main purpose of this series is to add support for the AD7606C chips
using a parallel interface. Along the way quite a few improvements were
made to the driver which in the end made adding the additional chips
trivial.

The first 8 are some minor cleanups (one could be considered a fix). The
2nd to last patch is the big one. As explained in the respective commit
message, the channel data structures were getting out of hand and only
going to get worse with the addition of SPI offload support. Instead, we
are opting to dynamically allocate the channel data structures to avoid
a bunch of the existing complexity in the driver.

I have limited access to hardware, so I was only able to test this with
ad7606c-18.

Signed-off-by: David Lechner <dlechner@...libre.com>
---
Changes in v2:.
- Dropped Fixes: tag from patch "iio: adc: ad7606_spi: check error in
  ad7606B_sw_mode_config()"
- Dropped patch "iio: adc: ad7606: fix scales_available attributes".
  This wasy actually fixed already in commit bead181694df ("iio: adc:
  ad7606: fix wrong scale available")
- Added a few more improvements to the doc comment cleanup patch.
- Fixed a wrong comment style.
- Link to v1: https://lore.kernel.org/r/20250312-iio-adc-ad7606-improvements-v1-0-d1ec04847aea@baylibre.com

I declined to move slow_bus assignment to the declaration since it will
be extended in a later series.

Also in v1, we discussed that we would merge the fixes first and wait
on the rest of the series. However, I since realized that the one
important fix is already in greg's tree and the other fixes are not
so urgent (I only triggered the NULL pointer dereference because of
later changes in this series), so could be nice if we could have
everything picked up since we have another ad7606 series that will
quickly follow this one.

---
David Lechner (10):
      iio: adc: ad7606: check for NULL before calling sw_mode_config()
      iio: adc: ad7606_spi: check error in ad7606B_sw_mode_config()
      iio: adc: ad7606: add missing max sample rates
      iio: adc: ad7606: use devm_mutex_init()
      iio: adc: ad7606: fix kernel-doc comments
      iio: adc: ad7606: use kernel identifier name style
      iio: adc: ad7606: don't use address field
      iio: adc: ad7606: drop ch param from ad7606_scale_setup_cb_t
      iio: adc: ad7606: dynamically allocate channel info
      iio: adc: ad7606_par: add ad7606c chips

 drivers/iio/adc/ad7606.c     | 312 ++++++++++++++++++++-----------------------
 drivers/iio/adc/ad7606.h     | 171 +++++++-----------------
 drivers/iio/adc/ad7606_par.c |  37 +----
 drivers/iio/adc/ad7606_spi.c |  98 ++------------
 4 files changed, 210 insertions(+), 408 deletions(-)
---
base-commit: 9f36acefb2621d980734a5bb7d74e0e24e0af166
change-id: 20250311-iio-adc-ad7606-improvements-997d7af218e3

Best regards,
-- 
David Lechner <dlechner@...libre.com>


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ