aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/octeon/patches-5.4/700-allocate_interface_by_label.patch
blob: e4dc3f96e52823b7bca9ab94a786fbc687ca2a1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
From: Roman Kuzmitskii <damex.pp@icloud.com>
Date: Wed, 28 Oct 2020 19:00:00 +0000
Subject: [PATCH] staging: octeon: add net-labels support

With this patch, device name can be set within dts file
in the same way as dsa port can.

Add label to pip interface node to use this feature:
label = "lan0";

Tested-by: Johannes Kimmel <fff@bareminimum.eu>
Signed-off-by: Roman Kuzmitskii <damex.pp@icloud.com>
--- a/drivers/staging/octeon/ethernet.c
+++ b/drivers/staging/octeon/ethernet.c
@@ -407,8 +407,12 @@ static int cvm_oct_common_set_mac_addres
 int cvm_oct_common_init(struct net_device *dev)
 {
 	struct octeon_ethernet *priv = netdev_priv(dev);
+	const u8 *label = NULL;
 	int ret;
 
+	if (priv->of_node)
+		label = of_get_property(priv->of_node, "label", NULL);
+
 	ret = of_get_mac_address(priv->of_node, dev->dev_addr);
 	if (ret)
 		eth_hw_addr_random(dev);
@@ -441,6 +445,9 @@ int cvm_oct_common_init(struct net_devic
 	if (dev->netdev_ops->ndo_stop)
 		dev->netdev_ops->ndo_stop(dev);
 
+	if (!IS_ERR_OR_NULL(label))
+		dev_alloc_name(dev, label);
+
 	return 0;
 }