From: sashiko-bot@kernel.org
To: "Aniket Limaye" <a-limaye@ti.com>
Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org,
robh@kernel.org, conor+dt@kernel.org
Subject: Re: [PATCH v2 4/4] gpio: davinci: Add ti,tda54-gpio compatible
Date: Fri, 16 Oct 2026 04:42:03 +0000 [thread overview]
Message-ID: <sashiko-outbox-173797@kernel.org> (raw)
In-Reply-To: <20261016-upstream-tda54-gpio-v2-4-5c4f8b10cdbc@ti.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] gpio: davinci: missing IRQ flow handler update for level-triggered unbanked IRQs
--
commit 8228d1919a6fb52d7ab9246eaa1447341a319a9f
Author: Aniket Limaye <a-limaye@ti.com>
gpio: davinci: Add ti,tda54-gpio compatible
Add the ti,tda54-gpio compatible with extended registers for
level-triggered interrupt support.
> diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c
> index 8d0ebf4afd169..db1f722693e0e 100644
> --- a/drivers/gpio/gpio-davinci.c
> +++ b/drivers/gpio/gpio-davinci.c
> @@ -535,6 +535,11 @@ static const struct davinci_gpio_match_data keystone_gpio_data = {
> .get_irq_chip = keystone_gpio_get_irq_chip,
> };
>
> +static const struct davinci_gpio_match_data tda54_gpio_data = {
> + .get_irq_chip = keystone_gpio_get_irq_chip,
> + .ext_reg = true,
[Severity: High]
Does enabling extended registers for level-triggered interrupts here result
in missing flow handler updates for unbanked interrupts?
For unbanked interrupts, the driver overrides the parent irqchip's
.irq_set_type with gpio_irq_type_unbanked(). While this function configures
the local GPIO hardware for level triggers when g_ext is available:
drivers/gpio/gpio-davinci.c:gpio_irq_type_unbanked() {
...
if (g_ext) {
writel_relaxed(mask, (trigger & IRQ_TYPE_LEVEL_HIGH)
? &g_ext->set_high : &g_ext->clr_high);
writel_relaxed(mask, (trigger & IRQ_TYPE_LEVEL_LOW)
? &g_ext->set_low : &g_ext->clr_low);
}
return 0;
}
It returns 0 without calling the parent's .irq_set_type callback or
dynamically updating the flow handler (e.g., via irq_set_handler_locked()).
Will this cause the parent interrupt controller and the logical IRQ flow
handler to remain configured for default edge triggers, potentially leading
to mishandled level interrupts?
> +};
> +
> static const struct of_device_id davinci_gpio_ids[];
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261016-upstream-tda54-gpio-v2-0-5c4f8b10cdbc@ti.com?part=4
prev parent reply other threads:[~2026-10-16 4:42 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-16 4:30 [PATCH v2 0/4] gpio: davinci: Add support for level-triggered interrupts Aniket Limaye
2026-10-16 4:30 ` [PATCH v2 1/4] dt-bindings: gpio: gpio-davinci: Add the tda54 support Aniket Limaye
2026-10-16 4:40 ` sashiko-bot
2026-10-16 4:30 ` [PATCH v2 2/4] gpio: davinci: Add match data struct for get_irq_chip callback Aniket Limaye
2026-10-16 4:30 ` [PATCH v2 3/4] gpio: davinci: Add support for level-triggered interrupts Aniket Limaye
2026-10-16 4:45 ` sashiko-bot
2026-10-16 4:30 ` [PATCH v2 4/4] gpio: davinci: Add ti,tda54-gpio compatible Aniket Limaye
2026-10-16 4:42 ` sashiko-bot [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=sashiko-outbox-173797@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=a-limaye@ti.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=linux-gpio@vger.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.