From 409997d01c39a1b874b6c15e0678020e9dc25218 Mon Sep 17 00:00:00 2001 From: lean Date: Thu, 31 Mar 2022 16:06:06 +0800 Subject: [PATCH] ipq807x: backport support for nvmem --- ...0007-SSDK-dts-fix-of_get_mac_address.patch | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 package/qca/nss/qca-ssdk/patches/0007-SSDK-dts-fix-of_get_mac_address.patch diff --git a/package/qca/nss/qca-ssdk/patches/0007-SSDK-dts-fix-of_get_mac_address.patch b/package/qca/nss/qca-ssdk/patches/0007-SSDK-dts-fix-of_get_mac_address.patch new file mode 100644 index 000000000..3de53298e --- /dev/null +++ b/package/qca/nss/qca-ssdk/patches/0007-SSDK-dts-fix-of_get_mac_address.patch @@ -0,0 +1,42 @@ +From f3a7b93137c1a6a1b8010b86296242178eed5d9e Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Fri, 13 Aug 2021 20:03:21 +0200 +Subject: [PATCH] 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 +--- + 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 +@@ -779,8 +779,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); +@@ -788,11 +789,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); \ No newline at end of file