From: Simon Horman <horms@kernel.org>
To: jan.petrous@oss.nxp.com
Cc: Simon Horman <horms@kernel.org>,
alexandre.torgue@foss.st.com, devicetree@vger.kernel.org,
festevam@gmail.com, chester62515@gmail.com,
s.hauer@pengutronix.de, linux-arm-kernel@lists.infradead.org,
davem@davemloft.net, mbrugger@suse.com, netdev@vger.kernel.org,
andrew+netdev@lunn.ch, s32@nxp.com, pabeni@redhat.com,
linux-kernel@vger.kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org, Frank.Li@nxp.com, robh@kernel.org,
kuba@kernel.org, linux-stm32@st-md-mailman.stormreply.com,
ghennadi.procopciuc@oss.nxp.com, kernel@pengutronix.de,
shawnguo@kernel.org, edumazet@google.com,
mcoquelin.stm32@gmail.com, imx@lists.linux.dev
Subject: Re: [v5,1/4] net: stmmac: platform: read channels irq
Date: Wed, 25 Feb 2026 09:24:56 +0000 [thread overview]
Message-ID: <20260225092456.174241-1-horms@kernel.org> (raw)
In-Reply-To: <20260223-dwmac_multi_irq-v5-1-8fc699a5fac4@oss.nxp.com>
This is an AI-generated review of your patch. The human sending this
email has considered the AI review valid, or at least plausible.
For local reproduction steps see https://netdev-ai.bots.linux.dev/ai-local.html
---
net: stmmac: platform: read channels irq
This commit adds support for reading IRQ resources for all rx/tx channels
in the stmmac platform driver to enable Multi-IRQ mode for platform glue
drivers.
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> index 5c9fd91a1db9..6166a9b0c0bb 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> @@ -700,6 +700,9 @@ EXPORT_SYMBOL_GPL(stmmac_pltfr_find_clk);
> int stmmac_get_platform_resources(struct platform_device *pdev,
> struct stmmac_resources *stmmac_res)
> {
> + char name[16];
> + int i;
> +
> memset(stmmac_res, 0, sizeof(*stmmac_res));
>
> /* Get IRQ information early to have an ability to ask for deferred
> @@ -735,7 +738,42 @@ int stmmac_get_platform_resources(struct platform_device *pdev,
>
> stmmac_res->addr = devm_platform_ioremap_resource(pdev, 0);
>
> - return PTR_ERR_OR_ZERO(stmmac_res->addr);
> + if (IS_ERR(stmmac_res->addr))
> + return PTR_ERR(stmmac_res->addr);
> +
> + /* RX channels irq */
> + for (i = 0; i < MTL_MAX_RX_QUEUES; i++) {
> + scnprintf(name, sizeof(name), "rx-queue-%d", i);
> + stmmac_res->rx_irq[i] = platform_get_irq_byname_optional(pdev,
> + name);
> + if (stmmac_res->rx_irq[i] <= 0) {
> + if (stmmac_res->rx_irq[i] == -EPROBE_DEFER)
> + return -EPROBE_DEFER;
> + dev_dbg(&pdev->dev, "IRQ rx-queue-%d not found\n", i);
> +
> + /* Stop on first unset rx-queue-%i property member */
> + stmmac_res->rx_irq[i] = 0;
> + break;
> + }
> + }
> +
> + /* TX channels irq */
> + for (i = 0; i < MTL_MAX_TX_QUEUES; i++) {
> + scnprintf(name, sizeof(name), "tx-queue-%d", i);
> + stmmac_res->tx_irq[i] = platform_get_irq_byname_optional(pdev,
> + name);
> + if (stmmac_res->tx_irq[i] <= 0) {
> + if (stmmac_res->tx_irq[i] == -EPROBE_DEFER)
> + return -EPROBE_DEFER;
> + dev_dbg(&pdev->dev, "IRQ tx-queue-%d not found\n", i);
> +
> + /* Stop on first unset tx-queue-%i property member */
> + stmmac_res->tx_irq[i] = 0;
> + break;
> + }
> + }
This isn't a bug, but the RX and TX channel IRQ handling blocks follow an
identical 14-line pattern that differs only in the queue name format string
and target array. Both blocks format the IRQ name with scnprintf(), call
platform_get_irq_byname_optional(), check for -EPROBE_DEFER, log a debug
message on error, and break on the first missing IRQ.
Could this duplication be reduced with a helper function? Note that the
existing code in this function already contains similar non-factored
patterns for wol_irq and sfty_irq handling, so this level of duplication
may be acceptable in this file's style.
> +
> + return 0;
> }
> EXPORT_SYMBOL_GPL(stmmac_get_platform_resources);
next prev parent reply other threads:[~2026-02-25 9:25 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-23 13:58 [PATCH v5 0/4] Support multi-channel IRQs in stmmac platform drivers Jan Petrous (OSS)
2026-02-23 13:58 ` Jan Petrous via B4 Relay
2026-02-23 13:58 ` [PATCH v5 1/4] net: stmmac: platform: read channels irq Jan Petrous (OSS)
2026-02-23 13:58 ` Jan Petrous via B4 Relay
2026-02-25 9:24 ` Simon Horman [this message]
2026-02-25 10:01 ` [v5,1/4] " Jan Petrous
2026-02-23 13:58 ` [PATCH v5 2/4] dt-bindings: net: nxp,s32-dwmac: Declare per-queue interrupts Jan Petrous (OSS)
2026-02-23 13:58 ` Jan Petrous via B4 Relay
2026-02-24 7:06 ` Krzysztof Kozlowski
2026-02-24 7:20 ` Jan Petrous
2026-02-23 13:58 ` [PATCH v5 3/4] arm64: dts: s32: set Ethernet channel irqs Jan Petrous (OSS)
2026-02-23 13:58 ` Jan Petrous via B4 Relay
2026-02-23 13:58 ` [PATCH v5 4/4] stmmac: s32: enable support for Multi-IRQ mode Jan Petrous (OSS)
2026-02-23 13:58 ` Jan Petrous via B4 Relay
2026-02-25 9:25 ` [v5,4/4] " Simon Horman
2026-02-25 10:02 ` Jan Petrous
2026-02-26 12:02 ` Simon Horman
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=20260225092456.174241-1-horms@kernel.org \
--to=horms@kernel.org \
--cc=Frank.Li@nxp.com \
--cc=alexandre.torgue@foss.st.com \
--cc=andrew+netdev@lunn.ch \
--cc=chester62515@gmail.com \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=festevam@gmail.com \
--cc=ghennadi.procopciuc@oss.nxp.com \
--cc=imx@lists.linux.dev \
--cc=jan.petrous@oss.nxp.com \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mbrugger@suse.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=s32@nxp.com \
--cc=shawnguo@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 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.