diff mbox series

net: ethernet: mtk_eth_soc: add label support for GMACs

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

Checks

Context Check Description
netdev/fixes_present success Fixes tag not required for -next series
netdev/subject_prefix warning Target tree name not specified in the subject
netdev/cover_letter success Single patches do not need cover letters
netdev/patch_count success Link
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 7 this patch: 7
netdev/cc_maintainers success CCed 12 of 12 maintainers
netdev/build_clang success Errors and warnings before: 0 this patch: 0
netdev/module_param success Was 0 now: 0
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/verify_fixes success No Fixes tag
netdev/build_allmodconfig_warn success Errors and warnings before: 7 this patch: 7
netdev/checkpatch warning WARNING: Prefer strscpy over strlcpy - see: https://lore.kernel.org/r/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=V6A6G1oUZcprmknw@mail.gmail.com/
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0
netdev/tree_selection success Guessing tree name failed - patch did not apply

Commit Message

Arınç ÜNAL April 4, 2022, 11:40 a.m. UTC
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(+)

Comments

Andrew Lunn April 4, 2022, 12:22 p.m. UTC | #1
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
Arınç ÜNAL April 5, 2022, 5:15 p.m. UTC | #2
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 mbox series

Patch

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: