From: Roman Kuzmitskii Date: Wed, 28 Oct 2020 19:23:49 +0000 (+0000) Subject: octeon: implement interface rename by label from device tree X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=a8ceda752c8f6d5ee84bfc4d2d24a5b326c9e671;p=openwrt%2Fstaging%2Fdangole.git octeon: implement interface rename by label from device tree adds patch to octeon ethernet driver that to rename interface name by label from device tree Tested-by: Johannes Kimmel Signed-off-by: Roman Kuzmitskii --- diff --git a/target/linux/octeon/patches-5.4/700-allocate_interface_by_label.patch b/target/linux/octeon/patches-5.4/700-allocate_interface_by_label.patch new file mode 100644 index 0000000000..0aef899a96 --- /dev/null +++ b/target/linux/octeon/patches-5.4/700-allocate_interface_by_label.patch @@ -0,0 +1,38 @@ +From: Roman Kuzmitskii +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 +Signed-off-by: Roman Kuzmitskii +--- a/drivers/staging/octeon/ethernet.c ++++ b/drivers/staging/octeon/ethernet.c +@@ -407,9 +407,12 @@ + { + struct octeon_ethernet *priv = netdev_priv(dev); + const u8 *mac = NULL; ++ const u8 *label = NULL; + +- if (priv->of_node) ++ if (priv->of_node) { + mac = of_get_mac_address(priv->of_node); ++ label = of_get_property(priv->of_node, "label", NULL); ++ } + + if (!IS_ERR_OR_NULL(mac)) + ether_addr_copy(dev->dev_addr, mac); +@@ -444,6 +447,9 @@ + 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; + } +