diff options
Diffstat (limited to 'target/linux/octeon/patches-5.15/700-allocate_interface_by_label.patch')
-rw-r--r-- | target/linux/octeon/patches-5.15/700-allocate_interface_by_label.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/target/linux/octeon/patches-5.15/700-allocate_interface_by_label.patch b/target/linux/octeon/patches-5.15/700-allocate_interface_by_label.patch new file mode 100644 index 0000000000..e4dc3f96e5 --- /dev/null +++ b/target/linux/octeon/patches-5.15/700-allocate_interface_by_label.patch @@ -0,0 +1,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; + } + |