[net-next v5 1/3] net: ethernet: mtk_eth_soc: support named IRQs
Frank Wunderlich
linux at fw-web.de
Wed Jun 18 07:50:13 PDT 2025
Am 18. Juni 2025 15:55:45 MESZ schrieb Daniel Golle <daniel at makrotopia.org>:
>On Wed, Jun 18, 2025 at 03:07:12PM +0200, Frank Wunderlich wrote:
>> From: Frank Wunderlich <frank-w at public-files.de>
>>
>> Add named interrupts and keep index based fallback for existing
>> devicetrees.
>>
>> Currently only rx and tx IRQs are defined to be used with mt7988, but
>> later extended with RSS/LRO support.
>>
>> Signed-off-by: Frank Wunderlich <frank-w at public-files.de>
>> Reviewed-by: Simon Horman <horms at kernel.org>
>>
>> +static int mtk_get_irqs(struct platform_device *pdev, struct mtk_eth *eth)
>> +{
>> + int i;
>> +
>> + /* future SoCs beginning with MT7988 should use named IRQs in dts */
>> + eth->irq[1] = platform_get_irq_byname(pdev, "tx");
>> + eth->irq[2] = platform_get_irq_byname(pdev, "rx");
>> + if (eth->irq[1] >= 0 && eth->irq[2] >= 0)
>> + return 0;
>
>I'd rather extend that logic and fall back to the legacy way only in case
>of -ENXIO. Ie. add here:
>
>if (eth->irq[1] != -ENXIO)
> return eth->irq[1];
>
>if (eth->irq[2] != -ENXIO)
> return eth->irq[2];
I would do this later after the consts are used
instead of index numbers,just to not add lines
that are changed later again.Better adding the
lines already with the consts.
>Maybe also output a warning at this point in case MTK_SHARED_INT is no
>set, to recommend users to update their device tree to named interrupts.
I understand the reason behind (documentation
which irq is used for which purpose),but
previous devicetrees of non-shared SoCs using
at least the reserved irq 0. Mt7986 has 0 and 3
defined in dts. That could be tricky in binding,
so my way was starting with irq names now for
new additions and leaving existing dts as they
are.
Maybe i should add the mt7988 ethernet binding change from my dts series here...
regards Frank
More information about the linux-arm-kernel
mailing list