aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/pending-5.4/682-of_net-add-mac-address-increment-support.patch
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2022-03-21 01:16:48 +0000
committerDaniel Golle <daniel@makrotopia.org>2022-03-21 13:11:56 +0000
commit786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186 (patch)
tree926fecb2b1f6ce1e42ba7ef4c7aab8e68dfd214c /target/linux/generic/pending-5.4/682-of_net-add-mac-address-increment-support.patch
parent9470160c350d15f765c33d6c1db15d6c4709a64c (diff)
downloadupstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.gz
upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.bz2
upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.zip
kernel: delete Linux 5.4 config and patches
As the upcoming release will be based on Linux 5.10 only, remove all kernel configuration as well as patches for Linux 5.4. There were no targets still actively using Linux 5.4. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 3a14580411adfb75f9a44eded9f41245b9e44606)
Diffstat (limited to 'target/linux/generic/pending-5.4/682-of_net-add-mac-address-increment-support.patch')
-rw-r--r--target/linux/generic/pending-5.4/682-of_net-add-mac-address-increment-support.patch89
1 files changed, 0 insertions, 89 deletions
diff --git a/target/linux/generic/pending-5.4/682-of_net-add-mac-address-increment-support.patch b/target/linux/generic/pending-5.4/682-of_net-add-mac-address-increment-support.patch
deleted file mode 100644
index 464fc7e1d5..0000000000
--- a/target/linux/generic/pending-5.4/682-of_net-add-mac-address-increment-support.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 844c273286f328acf0dab5fbd5d864366b4904dc Mon Sep 17 00:00:00 2001
-From: Ansuel Smith <ansuelsmth@gmail.com>
-Date: Tue, 30 Mar 2021 18:21:14 +0200
-Subject: [PATCH] of_net: add mac-address-increment support
-
-Lots of embedded devices use the mac-address of other interface
-extracted from nvmem cells and increments it by one or two. Add two
-bindings to integrate this and directly use the right mac-address for
-the interface. Some example are some routers that use the gmac
-mac-address stored in the art partition and increments it by one for the
-wifi. mac-address-increment-byte bindings is used to tell what byte of
-the mac-address has to be increased (if not defined the last byte is
-increased) and mac-address-increment tells how much the byte decided
-early has to be increased.
-
-Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
----
- drivers/of/of_net.c | 43 +++++++++++++++++++++++++++++++++++++++----
- 1 file changed, 39 insertions(+), 4 deletions(-)
-
---- a/drivers/of/of_net.c
-+++ b/drivers/of/of_net.c
-@@ -109,27 +109,62 @@ static int of_get_mac_addr_nvmem(struct
- * this case, the real MAC is in 'local-mac-address', and 'mac-address' exists
- * but is all zeros.
- *
-+ * DT can tell the system to increment the mac-address after is extracted by
-+ * using:
-+ * - mac-address-increment-byte to decide what byte to increase
-+ * (if not defined is increased the last byte)
-+ * - mac-address-increment to decide how much to increase. The value WILL
-+ * overflow to other bytes if the increment is over 255 or the total
-+ * increment will exceed 255 of the current byte.
-+ * (example 00:01:02:03:04:ff + 1 == 00:01:02:03:05:00)
-+ * (example 00:01:02:03:04:fe + 5 == 00:01:02:03:05:03)
-+ *
- * Return: 0 on success and errno in case of error.
- */
- int of_get_mac_address(struct device_node *np, u8 *addr)
- {
-+ u32 inc_idx, mac_inc, mac_val;
- int ret;
-
-+ /* Check first if the increment byte is present and valid.
-+ * If not set assume to increment the last byte if found.
-+ */
-+ if (of_property_read_u32(np, "mac-address-increment-byte", &inc_idx))
-+ inc_idx = 5;
-+ if (inc_idx < 3 || inc_idx > 5)
-+ return -EINVAL;
-+
- if (!np)
- return -ENODEV;
-
- ret = of_get_mac_addr(np, "mac-address", addr);
- if (!ret)
-- return 0;
-+ goto found;
-
- ret = of_get_mac_addr(np, "local-mac-address", addr);
- if (!ret)
-- return 0;
-+ goto found;
-
- ret = of_get_mac_addr(np, "address", addr);
- if (!ret)
-- return 0;
-+ goto found;
-+
-+ ret = of_get_mac_addr_nvmem(np, addr);
-+ if (ret)
-+ return ret;
-+
-+found:
-+ if (!of_property_read_u32(np, "mac-address-increment", &mac_inc)) {
-+ /* Convert to a contiguous value */
-+ mac_val = (addr[3] << 16) + (addr[4] << 8) + addr[5];
-+ mac_val += mac_inc << 8 * (5-inc_idx);
-+
-+ /* Apply the incremented value handling overflow case */
-+ addr[3] = (mac_val >> 16) & 0xff;
-+ addr[4] = (mac_val >> 8) & 0xff;
-+ addr[5] = (mac_val >> 0) & 0xff;
-+ }
-
-- return of_get_mac_addr_nvmem(np, addr);
-+ return ret;
- }
- EXPORT_SYMBOL(of_get_mac_address);