[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210419154659.44096-3-ilya.lipnitskiy@gmail.com>
Date: Mon, 19 Apr 2021 08:46:59 -0700
From: Ilya Lipnitskiy <ilya.lipnitskiy@...il.com>
To: "David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Rob Herring <robh+dt@...nel.org>, Felix Fietkau <nbd@....name>,
John Crispin <john@...ozen.org>,
Sean Wang <sean.wang@...iatek.com>,
Mark Lee <Mark-MC.Lee@...iatek.com>,
Matthias Brugger <matthias.bgg@...il.com>,
Russell King <linux@...linux.org.uk>, netdev@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
linux-mediatek@...ts.infradead.org
Cc: Ilya Lipnitskiy <ilya.lipnitskiy@...il.com>,
René van Dorst <opensource@...rst.com>
Subject: [PATCH net-next v2 2/2] net: ethernet: mediatek: support custom GMAC label
The MAC device name can now be set within DTS file instead of always
being "ethX". This is helpful for DSA to clearly label the DSA master
device and distinguish it from DSA slave ports.
For example, some devices, such as the Ubiquiti EdgeRouter X, may have
ports labeled ethX. Labeling the master GMAC with a different prefix
than DSA ports helps with clarity.
Suggested-by: René van Dorst <opensource@...rst.com>
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@...il.com>
---
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
index 6b00c12c6c43..df3cda63a8c5 100644
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -2845,6 +2845,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 *label = of_get_property(np, "label", NULL);
const __be32 *_id = of_get_property(np, "reg", NULL);
phy_interface_t phy_mode;
struct phylink *phylink;
@@ -2867,9 +2868,10 @@ static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
return -EINVAL;
}
- eth->netdev[id] = alloc_etherdev(sizeof(*mac));
+ eth->netdev[id] = alloc_netdev(sizeof(*mac), label ? label : "eth%d",
+ NET_NAME_UNKNOWN, ether_setup);
if (!eth->netdev[id]) {
- dev_err(eth->dev, "alloc_etherdev failed\n");
+ dev_err(eth->dev, "alloc_netdev failed\n");
return -ENOMEM;
}
mac = netdev_priv(eth->netdev[id]);
--
2.31.1
Powered by blists - more mailing lists