[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