From: sashiko-bot@kernel.org
To: "Rodrigo Alencar via B4 Relay"
<devnull+rodrigo.alencar.analog.com@kernel.org>
Cc: robh@kernel.org, conor+dt@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v2 06/12] iio: dac: ad5686: consume optional reset signal
Date: Tue, 09 Jun 2026 10:29:52 +0000 [thread overview]
Message-ID: <20260609102952.F14E01F00898@smtp.kernel.org> (raw)
In-Reply-To: <20260609-ad5686-new-features-v2-6-70b423f5c76d@analog.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Premature reset line deassertion during power ramp-up due to the use of '_deasserted' combined with a manual pulse.
--
commit 61717352bc99739a9f89195c3320a934e033ad38
Author: Rodrigo Alencar <rodrigo.alencar@analog.com>
iio: dac: ad5686: consume optional reset signal
Add RESET pin GPIO support through an optional reset control, which is local
to the probe function, and include a delay for the required reset pulse width.
> diff --git a/drivers/iio/dac/ad5686.c b/drivers/iio/dac/ad5686.c
> index fc3863274b291..700798b80f044 100644
> --- a/drivers/iio/dac/ad5686.c
> +++ b/drivers/iio/dac/ad5686.c
[ ... ]
> @@ -506,7 +508,15 @@ int ad5686_probe(struct device *dev,
> return dev_err_probe(dev, -EINVAL,
> "invalid or not provided vref voltage\n");
>
> + rstc = devm_reset_control_get_optional_exclusive_deasserted(dev, NULL);
[Severity: Medium]
Does this prematurely deassert the reset line during power ramp-up?
Because devm_reset_control_get_optional_exclusive_deasserted() automatically
and immediately deasserts the reset line upon acquisition, the reset line is
driven high while the power supply is still stabilizing, before the 5 us
power-up delay has elapsed.
This creates an unwanted rising edge on the reset pin during power ramp-up,
which could cause the device to enter an unknown state or latch up.
Should this use devm_reset_control_get_optional_exclusive() instead, which
does not modify the line state during acquisition, allowing the manual toggle
sequence below to safely reset the device after power is stable?
> + if (IS_ERR(rstc))
> + return dev_err_probe(dev, PTR_ERR(rstc),
> + "Failed to get reset control\n");
> +
> fsleep(5); /* power-up time */
> + reset_control_assert(rstc);
> + fsleep(1); /* reset pulse: comfortably bigger than the spec */
> + reset_control_deassert(rstc);
>
> /* Initialize masks to all ones */
> st->pwr_down_mask = ~0;
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260609-ad5686-new-features-v2-0-70b423f5c76d@analog.com?part=6
next prev parent reply other threads:[~2026-06-09 10:29 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-09 10:12 [PATCH v2 00/12] New features for the AD5686 IIO driver Rodrigo Alencar via B4 Relay
2026-06-09 10:12 ` Rodrigo Alencar
2026-06-09 10:12 ` [PATCH v2 01/12] dt-bindings: iio: dac: ad5696: add reset/ldac/gain gpio support Rodrigo Alencar via B4 Relay
2026-06-09 10:12 ` Rodrigo Alencar
2026-06-09 10:12 ` [PATCH v2 02/12] dt-bindings: iio: dac: ad5696: rework on power supplies Rodrigo Alencar via B4 Relay
2026-06-09 10:12 ` Rodrigo Alencar
2026-06-09 10:28 ` sashiko-bot
2026-06-09 11:40 ` Rodrigo Alencar
2026-06-09 16:12 ` Conor Dooley
2026-06-09 10:12 ` [PATCH v2 03/12] dt-bindings: iio: dac: ad5686: add reset/ldac/gain gpio support Rodrigo Alencar via B4 Relay
2026-06-09 10:12 ` Rodrigo Alencar
2026-06-09 10:12 ` [PATCH v2 04/12] dt-bindings: iio: dac: ad5686: rework on power supplies Rodrigo Alencar via B4 Relay
2026-06-09 10:12 ` Rodrigo Alencar
2026-06-09 10:22 ` sashiko-bot
2026-06-09 10:13 ` [PATCH v2 05/12] iio: dac: ad5686: add support for missing " Rodrigo Alencar via B4 Relay
2026-06-09 10:13 ` Rodrigo Alencar
2026-06-09 10:13 ` [PATCH v2 06/12] iio: dac: ad5686: consume optional reset signal Rodrigo Alencar via B4 Relay
2026-06-09 10:13 ` Rodrigo Alencar
2026-06-09 10:29 ` sashiko-bot [this message]
2026-06-09 11:17 ` Rodrigo Alencar
2026-06-09 10:13 ` [PATCH v2 07/12] iio: dac: ad5686: add ldac gpio Rodrigo Alencar via B4 Relay
2026-06-09 10:13 ` Rodrigo Alencar
2026-06-09 10:13 ` [PATCH v2 08/12] iio: dac: ad5686: introduce sync operation Rodrigo Alencar via B4 Relay
2026-06-09 10:13 ` Rodrigo Alencar
2026-06-09 10:13 ` [PATCH v2 09/12] iio: dac: ad5686: implement new sync() op for the spi bus Rodrigo Alencar via B4 Relay
2026-06-09 10:13 ` Rodrigo Alencar
2026-06-09 18:10 ` Andy Shevchenko
2026-06-09 10:13 ` [PATCH v2 10/12] iio: dac: ad5686: add triggered buffer support Rodrigo Alencar via B4 Relay
2026-06-09 10:13 ` Rodrigo Alencar
2026-06-09 10:13 ` [PATCH v2 11/12] iio: dac: ad5686: write_raw: use guard(mutex)() Rodrigo Alencar via B4 Relay
2026-06-09 10:13 ` Rodrigo Alencar
2026-06-09 10:26 ` Joshua Crofts
2026-06-09 11:46 ` Nuno Sá
2026-06-09 10:13 ` [PATCH v2 12/12] iio: dac: ad5686: add gain control support Rodrigo Alencar via B4 Relay
2026-06-09 10:13 ` Rodrigo Alencar
2026-06-09 10:37 ` sashiko-bot
2026-06-09 11:10 ` Rodrigo Alencar
2026-06-09 18:15 ` Andy Shevchenko
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=20260609102952.F14E01F00898@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=devnull+rodrigo.alencar.analog.com@kernel.org \
--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.