openwrt/target/linux/octeon/patches-6.1/700-allocate_interface_by_label.patch
Christian Svensson 9a323b50e6 octeon: upgrade to 6.1 kernel
The kernel patches apply with only minor changes. The only other notable
change is that octeon-usb has moved from staging and had its config
macro renamed from CONFIG_OCTEON_USB to CONFIG_USB_OCTEON_HCD.

Signed-off-by: Christian Svensson <blue@cmd.nu>
2023-12-12 18:42:58 +01:00

38 lines
1.0 KiB
Diff

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_ethdev_address(priv->of_node, dev);
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;
}