From: sashiko-bot@kernel.org
To: "Janani Sunil" <janani.sunil@analog.com>
Cc: conor+dt@kernel.org, devicetree@vger.kernel.org, robh@kernel.org
Subject: Re: [PATCH v6 09/17] iio: adc: ad7768: Configure channel sampling profiles
Date: Fri, 04 Sep 2026 14:45:14 +0000 [thread overview]
Message-ID: <20260904144515.787F61F00A3D@smtp.kernel.org> (raw)
In-Reply-To: <20260904-ad7768-driver-v6-9-e4378f946bfb@analog.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] ad7768_channel_mode_mask() ambiguously combines logical and physical channel bitmasks, potentially writing to reserved or unmapped hardware bits.
--
commit d77a0cc3ec50f3f6a3dbf446c22f27d8fae9209d
Author: Janani Sunil <janani.sunil@analog.com>
iio: adc: ad7768: Configure channel sampling profiles
At buffered capture setup, select the fastest compatible power mode for
the enabled channel rates. Group channels into the two hardware mode
profiles and program their decimation, mode selection, and data clock.
> diff --git a/drivers/iio/adc/ad7768.c b/drivers/iio/adc/ad7768.c
> index 2020156eb6b61..868130ebcc8f1 100644
> --- a/drivers/iio/adc/ad7768.c
> +++ b/drivers/iio/adc/ad7768.c
[ ... ]
> @@ -204,6 +209,11 @@ static u8 ad7768_channel_mask(const struct ad7768_state *st, u8 ch)
> return BIT(st->chip_info->chan_map[ch]);
> }
>
> +static u8 ad7768_channel_mode_mask(const struct ad7768_state *st, u8 ch)
> +{
> + return BIT(ch) | ad7768_channel_mask(st, ch);
[Severity: Medium]
Does this bitwise OR inadvertently combine the logical channel index and the
physical channel mapping?
When this is applied to the AD7768_REG_CH_MODE_SEL register, it could result
in writing to reserved or unmapped hardware bits, which might lead to
unpredictable hardware state.
> +}
> +
> static u8 ad7768_all_standby_mask(const struct ad7768_state *st)
> {
> return GENMASK(st->chip_info->num_channels - 1, 0);
[ ... ]
> @@ -478,11 +544,66 @@ static int ad7768_update_scan_mode(struct iio_dev *indio_dev,
> if (st->clock_source == AD7768_CLOCK_SOURCE_XTAL)
> __clear_bit(st->chip_info->num_channels / 2, &standby_mask);
>
> + for_each_set_bit(c, scan_mask, st->chip_info->num_channels) {
> + unsigned int mask;
> + int mode;
> +
> + mode = ad7768_find_matching_mode(mode_used, mode_freq,
> + st->ch_freq[c]);
> + if (mode < 0)
> + return dev_err_probe(dev, -EINVAL,
> + "Over %d channel modes required\n",
> + AD7768_NUM_CHANNEL_MODES);
> +
> + mode_freq[mode] = st->ch_freq[c];
> + mode_used[mode] = true;
> +
> + mask = ad7768_channel_mode_mask(st, c);
> + ret = regmap_assign_bits(st->regmap, AD7768_REG_CH_MODE_SEL,
> + mask, mode);
[Severity: Medium]
This applies the multi-bit mask to the hardware configuration register.
Could this configure unintended channels or interfere with device compatibility?
> + if (ret)
> + return ret;
> + }
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260904-ad7768-driver-v6-0-e4378f946bfb@analog.com?part=9
next prev parent reply other threads:[~2026-09-04 14:45 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-04 14:14 [PATCH v6 00/17] iio: adc: Add AD7768/AD7768-4 ADC driver support Janani Sunil
2026-09-04 14:14 ` [PATCH v6 01/17] iio: adc: adi-axi-adc: Initialize state mutex Janani Sunil
2026-09-04 14:14 ` [PATCH v6 02/17] dt-bindings: iio: adc: Add AD7768 Janani Sunil
2026-09-04 14:21 ` sashiko-bot
2026-09-04 17:08 ` Conor Dooley
2026-09-04 14:14 ` [PATCH v6 03/17] iio: backend: Add support for CRC Janani Sunil
2026-09-06 3:50 ` Jonathan Cameron
2026-09-04 14:14 ` [PATCH v6 04/17] iio: adc: adi-axi-adc: " Janani Sunil
2026-09-04 14:24 ` sashiko-bot
2026-09-04 14:14 ` [PATCH v6 05/17] iio: adc: Add AD7768 and AD7768-4 core support Janani Sunil
2026-09-04 14:31 ` sashiko-bot
2026-09-06 2:24 ` Jonathan Cameron
2026-09-06 3:05 ` Jonathan Cameron
2026-09-06 3:50 ` Jonathan Cameron
2026-09-07 11:25 ` Janani Sunil
2026-09-10 3:43 ` Jonathan Cameron
2026-09-06 8:34 ` Andy Shevchenko
2026-09-07 11:17 ` Janani Sunil
2026-09-04 14:14 ` [PATCH v6 06/17] iio: adc: ad7768: Validate master clock rate Janani Sunil
2026-09-04 14:14 ` [PATCH v6 07/17] iio: adc: ad7768: Add power mode helper Janani Sunil
2026-09-04 14:25 ` sashiko-bot
2026-09-06 3:50 ` Jonathan Cameron
2026-09-04 14:15 ` [PATCH v6 08/17] iio: adc: ad7768: Derive output data rates Janani Sunil
2026-09-04 14:15 ` [PATCH v6 09/17] iio: adc: ad7768: Configure channel sampling profiles Janani Sunil
2026-09-04 14:45 ` sashiko-bot [this message]
2026-09-06 3:50 ` Jonathan Cameron
2026-09-04 14:15 ` [PATCH v6 10/17] iio: adc: ad7768: Add sampling frequency controls Janani Sunil
2026-09-04 14:15 ` [PATCH v6 11/17] iio: adc: ad7768: Add per-channel filter controls Janani Sunil
2026-09-04 14:15 ` [PATCH v6 12/17] iio: adc: ad7768: Wait for digital filters to settle Janani Sunil
2026-09-04 14:15 ` [PATCH v6 13/17] iio: adc: ad7768: Add calibration controls Janani Sunil
2026-09-04 14:35 ` sashiko-bot
2026-09-06 3:50 ` Jonathan Cameron
2026-09-04 14:15 ` [PATCH v6 14/17] iio: adc: ad7768: Add per-channel conversion delay Janani Sunil
2026-09-04 14:33 ` sashiko-bot
2026-09-06 3:50 ` Jonathan Cameron
2026-09-04 14:15 ` [PATCH v6 15/17] iio: adc: ad7768: Add VCM regulator support Janani Sunil
2026-09-04 14:15 ` [PATCH v6 16/17] iio: adc: ad7768: Register GPIO auxiliary device Janani Sunil
2026-09-04 14:15 ` [PATCH v6 17/17] Documentation: iio: Add AD7768 Documentation Janani Sunil
2026-09-06 3:50 ` 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=20260904144515.787F61F00A3D@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=janani.sunil@analog.com \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.