Message ID | 20220404114000.3549-1-arinc.unal@arinc9.com (mailing list archive) |
---|---|
State | Deferred |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: ethernet: mtk_eth_soc: add label support for GMACs | expand |
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
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ç
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: