kernel: qca-ssdk: renumber patches
[openwrt/staging/jow.git] / package / kernel / qca-ssdk / patches / 0003-SSDK-dts-fix-of_get_mac_address.patch
diff --git a/package/kernel/qca-ssdk/patches/0003-SSDK-dts-fix-of_get_mac_address.patch b/package/kernel/qca-ssdk/patches/0003-SSDK-dts-fix-of_get_mac_address.patch
new file mode 100644 (file)
index 0000000..c004f4a
--- /dev/null
@@ -0,0 +1,42 @@
+From c1b6fa42a160763b574dd52aa4845718e4cd0ea6 Mon Sep 17 00:00:00 2001
+From: Robert Marko <robimarko@gmail.com>
+Date: Fri, 13 Aug 2021 20:03:21 +0200
+Subject: [PATCH 03/14] SSDK: dts: fix of_get_mac_address()
+
+Recently OpenWrt backported the updated of_get_mac_address()
+function which returns and error code instead.
+
+So, patch the SSDK to use it and fix the compilation error.
+
+Signed-off-by: Robert Marko <robimarko@gmail.com>
+---
+ src/init/ssdk_dts.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+--- a/src/init/ssdk_dts.c
++++ b/src/init/ssdk_dts.c
+@@ -921,8 +921,9 @@ static void ssdk_dt_parse_intf_mac(void)
+ {
+       struct device_node *dp_node = NULL;
+       a_uint32_t dp = 0;
+-      a_uint8_t *maddr = NULL;
++      u8 maddr[ETH_ALEN];
+       char dp_name[8] = {0};
++      int ret;
+       for (dp = 1; dp <= SSDK_MAX_NR_ETH; dp++) {
+               snprintf(dp_name, sizeof(dp_name), "dp%d", dp);
+@@ -930,11 +931,11 @@ static void ssdk_dt_parse_intf_mac(void)
+               if (!dp_node) {
+                       continue;
+               }
+-              maddr = (a_uint8_t *)of_get_mac_address(dp_node);
++              ret = of_get_mac_address(dp_node, maddr);
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0))
+               if (maddr && is_valid_ether_addr(maddr)) {
+ #else
+-              if (!IS_ERR(maddr) && is_valid_ether_addr(maddr)) {
++              if (!ret && is_valid_ether_addr(maddr)) {
+ #endif
+                       ssdk_dt_global.num_intf_mac++;
+                       ether_addr_copy(ssdk_dt_global.intf_mac[dp-1].uc, maddr);