[PATCH] net: ethernet: mtk_eth_soc: add label support for GMACs

Arınç ÜNAL posted 1 patch 2 years, 5 months ago
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 4 ++++
1 file changed, 4 insertions(+)
[PATCH] net: ethernet: mtk_eth_soc: add label support for GMACs
Posted by Arınç ÜNAL 2 years, 5 months ago
From: René van Dorst <opensource@vdorst.com>

Add label support for GMACs. The network interface of the GMAC will have
the string of the label property defined on the devicetree as its name.

Signed-off-by: René van Dorst <opensource@vdorst.com>
[arinc.unal@arinc9.com: change commit log and rebase to current net-next]
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
---
 drivers/net/ethernet/mediatek/mtk_eth_soc.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
index f02d07ec5ccb..af2f0693180a 100644
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2911,6 +2911,7 @@ static const struct net_device_ops mtk_netdev_ops = {
 
 static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
 {
+	const char *name = of_get_property(np, "label", NULL);
 	const __be32 *_id = of_get_property(np, "reg", NULL);
 	phy_interface_t phy_mode;
 	struct phylink *phylink;
@@ -3033,6 +3034,9 @@ static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
 	else
 		eth->netdev[id]->max_mtu = MTK_MAX_RX_LENGTH_2K - MTK_RX_ETH_HLEN;
 
+	if (name)
+		strlcpy(eth->netdev[id]->name, name, IFNAMSIZ);
+
 	return 0;
 
 free_netdev:
-- 
2.25.1

Re: [PATCH] net: ethernet: mtk_eth_soc: add label support for GMACs
Posted by Andrew Lunn 2 years, 5 months ago
On Mon, Apr 04, 2022 at 02:40:00PM +0300, Arınç ÜNAL wrote:
> From: René van Dorst <opensource@vdorst.com>
> 
> Add label support for GMACs. The network interface of the GMAC will have
> the string of the label property defined on the devicetree as its name.

Sorry, but no. This has been discussed a few times, you need something
in user space, udev or systemd etc to set interface names.

Please look back in the archive at previous discussions.

   Andrew
Re: [PATCH] net: ethernet: mtk_eth_soc: add label support for GMACs
Posted by Arınç ÜNAL 2 years, 5 months ago
On 04/04/2022 15:22, Andrew Lunn wrote:
> On Mon, Apr 04, 2022 at 02:40:00PM +0300, Arınç ÜNAL wrote:
>> From: René van Dorst <opensource@vdorst.com>
>>
>> Add label support for GMACs. The network interface of the GMAC will have
>> the string of the label property defined on the devicetree as its name.
> 
> Sorry, but no. This has been discussed a few times, you need something
> in user space, udev or systemd etc to set interface names.
> 
> Please look back in the archive at previous discussions.

Thanks for the heads up Andrew, I found your quote from 
https://lore.kernel.org/all/Ydhwfa%2FECqTE3rLx@lunn.ch/:

> I agree with Russell here. I doubt this is going to be accepted.
> 
> DSA is special because DSA is very old, much older than DT, and maybe
> older than udev. The old DSA platform drivers had a mechanism to
> supply the interface name to the DSA core. When we added a DT binding
> to DSA we kept that mechanism, since that mechanism had been used for
> a long time.
> 
> Even if you could show there was a generic old mechanism, from before
> the days of DT, that allowed interface names to be set from platform
> drivers, i doubt it would be accepted because there is no continuity,
> which DSA has.

On MT7621 SoC, we can mux a switch phy of MT7530 (must be phy0 or 4) to 
the SoC's gmac1. So a UTP port connected to that phy becomes directly 
connected to the SoC's gmac1. Because of that, I wanted to be able to 
give the gmac's netdev interface a name from DT like DSA. However, the 
quote above makes sense why not to do so.

Thanks.
Arınç