All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Luca Weiss" <luca.weiss@fairphone.com>
Cc: dmitry.torokhov@gmail.com, conor+dt@kernel.org, robh@kernel.org,
	devicetree@vger.kernel.org, linux-input@vger.kernel.org
Subject: Re: [PATCH v3 2/3] Input: Add driver for ESWIN EPH8621 touchscreen IC
Date: Fri, 18 Sep 2026 07:39:50 +0000	[thread overview]
Message-ID: <20260918073951.252CD1F00893@smtp.kernel.org> (raw)
In-Reply-To: <20260918-eswin-eph8621-v3-2-514eb1f622c0@fairphone.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] power: regulator imbalance on resume failure
--

commit 84d6ec94a7b38cd8d1245f0f98657e92de7d8440
Author: Luca Weiss <luca.weiss@fairphone.com>

    Input: Add driver for ESWIN EPH8621 touchscreen IC
    
    Add a driver for the ESWIN EPH8621 touchscreens, connected via SPI.

> diff --git a/drivers/input/touchscreen/eswin_eph8621.c b/drivers/input/touchscreen/eswin_eph8621.c
> new file mode 100644
> index 0000000000000..766b113b3288d
> --- /dev/null
> +++ b/drivers/input/touchscreen/eswin_eph8621.c
[ ... ]
> +static void eswin_power_off(struct eswin_touch *ts)
> +{
> +	gpiod_set_value_cansleep(ts->reset_gpio, 1);
> +	regulator_bulk_disable(ARRAY_SIZE(ts->supplies), ts->supplies);
> +}
> +
> +static void eswin_power_off_act(void *data)
> +{
> +	struct eswin_touch *ts = data;
> +
> +	eswin_power_off(ts);
> +}
[ ... ]
> +static int eswin_resume(struct device *dev)
> +{
> +	struct spi_device *spi = to_spi_device(dev);
> +	struct eswin_touch *ts = spi_get_drvdata(spi);
> +	int error;
> +
> +	error = eswin_power_on(ts);
> +	if (error)
> +		return error;
                ^^^^^^^^^^^^

[Severity: Medium]
If eswin_power_on() fails during system resume, the regulators remain
disabled.

Since the devres cleanup action (eswin_power_off_act) runs unconditionally
when the driver unbinds, devres will eventually call eswin_power_off().

Could this attempt to disable the already-disabled regulators and trigger
a regulator disable count underflow warning?

> +
> +	enable_irq(spi->irq);
> +
> +	return 0;
> +}

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260918-eswin-eph8621-v3-0-514eb1f622c0@fairphone.com?part=2

  reply	other threads:[~2026-09-18  7:39 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-18  7:29 [PATCH v3 0/3] ESWIN EPH8621 touchscreen support for Fairphone (Gen. 6) Luca Weiss
2026-09-18  7:29 ` [PATCH v3 1/3] dt-bindings: input: touchscreen: document ESWIN EPH8621 Luca Weiss
2026-09-18  7:36   ` sashiko-bot
2026-09-18  7:29 ` [PATCH v3 2/3] Input: Add driver for ESWIN EPH8621 touchscreen IC Luca Weiss
2026-09-18  7:39   ` sashiko-bot [this message]
2026-09-18  7:29 ` [PATCH v3 3/3] arm64: dts: qcom: milos-fairphone-fp6: Add touchscreen Luca Weiss
2026-09-21 12:01   ` Abel Vesa

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=20260918073951.252CD1F00893@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=linux-input@vger.kernel.org \
    --cc=luca.weiss@fairphone.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.