public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Jonathan Santos <Jonathan.Santos@analog.com>
Cc: <linux-iio@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <lars@metafoo.de>,
	<Michael.Hennerich@analog.com>, <dlechner@baylibre.com>,
	<nuno.sa@analog.com>, <andy@kernel.org>, <robh@kernel.org>,
	<krzk+dt@kernel.org>, <conor+dt@kernel.org>,
	<jonath4nns@gmail.com>
Subject: Re: [PATCH v6 0/5] Add support for ADAQ776x-1 ADC Family
Date: Thu, 22 Jan 2026 19:25:06 +0000	[thread overview]
Message-ID: <20260122192506.06ca7a4f@jic23-huawei> (raw)
In-Reply-To: <cover.1768350772.git.Jonathan.Santos@analog.com>

On Wed, 14 Jan 2026 06:26:22 -0300
Jonathan Santos <Jonathan.Santos@analog.com> wrote:

> This adds support for the ADAQ7767-1, ADAQ7768-1 and ADAQ7769-1 devices. 
> 
> The ADAQ7768-1 and ADAQ7769-1 integrate a programmable gain amplifier (PGA)
> with 7 and 8 gain options, respectively. The ADAQ7767-1 and ADAQ7769-1 
> also feature a 3-pin selectable Anti-aliasing filter (AAF) gain.
> 
> ---
> Changes in v6:
> * Use Pattern PER* for all percentage-related macros and include macros 
>   for Per mille and per cent mille units.
> * Refactored ad7768_parse_aaf_gain() to improve cleanliness and readability.
> * Link to v5: https://lore.kernel.org/linux-iio/cover.1765900411.git.Jonathan.Santos@analog.com/T/#t/
> 
> Changes in v5:
> * Added PERCENT macro along with BASIS_POINTS in units.h.
> * Added new patch to allow writing attributes without direct mode claim.
> * Write scale attribute without direct mode claim to avoid deadlock
>   when using GPIOs from the device's own controller.
> * Link to v4: https://lore.kernel.org/linux-iio/cover.1764101647.git.Jonathan.Santos@analog.com/T/#t
> 
> 
> Changes in v4:
> * Removed u64_fract type patch, as it is not used. u32_fract is sufficient
>   for the PGA gain calculations.
> * Added new patch adding BASIS_POINTS macro to units.h.
> * Included pga-gpios property for parts that support PGA gain.
>   Before we were using the internal gpio controller to manage the PGA pins,
>   but still exposing the controller for external use (causing possible conflicts).
> * Addressed other review comments, see individual patches.
> * Link to v3: https://lore.kernel.org/linux-iio/cover.1757001160.git.Jonathan.Santos@analog.com/T/#t
> 
> Changes in v3:
> * Renamed adi,gain-milli to adi,aaf-gain-bp. Now it represents basis points
>   (one hundredth of a percent).
> * ad7768_channel_masks removed along with available_masks element in
>   ad7768_chip_info struct. It does not add anything for single channels,
>   so not needed, at least for now.
> * New patch adding 64-bit fractional number types to math.h.
> * Moved aaf gain parsing to its own function, and now returning after
>   warning to avoid setting a variable when it shouldn't (avoid confusion).
> * ad7768_set_pga_gain(): removed the pgia enable check, relying on the
>   regmap cache.
> * Addressed other review comments, see individual patches.
> 
> Changes in v2:
> * adi,aaf-gain property renamed to adi,gain-milli. Default value added.
> * fixed some commit messages. 
> * Added 'select RATIONAL' to Kconfig.
> * Added lock to protect PGA value access.
> * rewrote AAF gain check and replaced error returns with warnings.
> * Addressed other review comments, see individual patches.
> * Link to v1: https://lore.kernel.org/linux-iio/cover.1754617360.git.Jonathan.Santos@analog.com/T/#t
> 
> Jonathan Santos (5):
>   dt-bindings: iio: adc: ad7768-1: add new supported parts
>   iio: adc: ad7768-1: introduce chip info for future multidevice support
>   units: add conversion macros for percentage related units
>   iio: adc: ad7768-1: refactor ad7768_write_raw()
>   iio: adc: ad7768-1: add support for ADAQ776x-1 ADC Family
Applied with this diff to last patch.  Will first push out as testing to
let 0-day take a look.

Shout if the change is a problem.

diff --git a/drivers/iio/adc/ad7768-1.c b/drivers/iio/adc/ad7768-1.c
index 980c079ab41a..dc5be3d14664 100644
--- a/drivers/iio/adc/ad7768-1.c
+++ b/drivers/iio/adc/ad7768-1.c
@@ -535,9 +535,10 @@ static void ad7768_fill_scale_tbl(struct iio_dev *dev)
 {
        struct ad7768_state *st = iio_priv(dev);
        const struct iio_scan_type *scan_type;
-       int val, val2, tmp0, tmp1, i;
+       int val, val2, tmp0, i;
        struct u32_fract fract;
        unsigned long n, d;
+       u32 tmp1;
        u64 tmp2;
 
        scan_type = iio_get_current_scan_type(dev, &dev->channels[0]);
@@ -563,7 +564,7 @@ static void ad7768_fill_scale_tbl(struct iio_dev *dev)
                tmp2 = ((u64)val * MICRO) >> val2;
                tmp0 = div_u64_rem(tmp2, NANO, &tmp1);
                st->scale_tbl[i][0] = tmp0; /* Integer part */
-               st->scale_tbl[i][1] = abs(tmp1); /* Fractional part */
+               st->scale_tbl[i][1] = tmp1; /* Fractional part */
        }
 }
 

> 
>  .../bindings/iio/adc/adi,ad7768-1.yaml        |  64 ++-
>  drivers/iio/adc/Kconfig                       |   1 +
>  drivers/iio/adc/ad7768-1.c                    | 423 +++++++++++++++---
>  include/linux/units.h                         |  19 +
>  4 files changed, 453 insertions(+), 54 deletions(-)
> 
> 
> base-commit: e0bc6d7e258486c10bb11e31fd4421c134063b1d


      parent reply	other threads:[~2026-01-22 19:25 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-14  9:26 [PATCH v6 0/5] Add support for ADAQ776x-1 ADC Family Jonathan Santos
2026-01-14  9:26 ` [PATCH v6 1/5] dt-bindings: iio: adc: ad7768-1: add new supported parts Jonathan Santos
2026-01-14  9:26 ` [PATCH v6 2/5] iio: adc: ad7768-1: introduce chip info for future multidevice support Jonathan Santos
2026-01-14  9:27 ` [PATCH v6 3/5] units: add conversion macros for percentage related units Jonathan Santos
2026-01-19  7:54   ` Andy Shevchenko
2026-01-19  7:57     ` Andy Shevchenko
2026-01-14  9:27 ` [PATCH v6 4/5] iio: adc: ad7768-1: refactor ad7768_write_raw() Jonathan Santos
2026-01-14  9:27 ` [PATCH v6 5/5] iio: adc: ad7768-1: add support for ADAQ776x-1 ADC Family Jonathan Santos
2026-01-16 18:52   ` Jonathan Cameron
2026-01-19  8:06     ` Andy Shevchenko
2026-01-22 19:25 ` Jonathan Cameron [this message]

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=20260122192506.06ca7a4f@jic23-huawei \
    --to=jic23@kernel.org \
    --cc=Jonathan.Santos@analog.com \
    --cc=Michael.Hennerich@analog.com \
    --cc=andy@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dlechner@baylibre.com \
    --cc=jonath4nns@gmail.com \
    --cc=krzk+dt@kernel.org \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nuno.sa@analog.com \
    --cc=robh@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