[OpenWrt-Devel] [PATCH 1/2] base-files: move xor() from caldata extraction to functions.sh
Adrian Schmutzler
freifunk at adrianschmutzler.de
Fri Sep 6 10:53:55 EDT 2019
The xor() function is defined in each of the caldata extraction
scripts for several targets. Move it to functions.sh to reduce
duplicate code.
Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
package/base-files/files/lib/functions.sh | 16 ++++++++++++++++
.../etc/hotplug.d/firmware/10-ath9k-eeprom | 15 ---------------
.../etc/hotplug.d/firmware/11-ath10k-caldata | 18 +-----------------
.../etc/hotplug.d/firmware/11-ath10k-caldata | 17 +----------------
.../etc/hotplug.d/firmware/11-ath10k-caldata | 17 +----------------
.../etc/hotplug.d/firmware/12-ath9k-eeprom | 16 ----------------
6 files changed, 19 insertions(+), 80 deletions(-)
diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh
index 860fc04510..81176431d1 100755
--- a/package/base-files/files/lib/functions.sh
+++ b/package/base-files/files/lib/functions.sh
@@ -17,6 +17,22 @@ NO_EXPORT=1
LOAD_STATE=1
LIST_SEP=" "
+# xor multiple hex values of the same length
+xor() {
+ local val
+ local ret="0x$1"
+ local retlen=${#1}
+
+ shift
+ while [ -n "$1" ]; do
+ val="0x$1"
+ ret=$((ret ^ val))
+ shift
+ done
+
+ printf "%0${retlen}x" "$ret"
+}
+
append() {
local var="$1"
local value="$2"
diff --git a/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
index f07dbf83c4..450f85b0fe 100644
--- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
+++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
@@ -42,21 +42,6 @@ ath9k_eeprom_extract_reverse() {
printf "%b" "$caldata" > /lib/firmware/$FIRMWARE
}
-xor() {
- local val
- local ret="0x$1"
- local retlen=${#1}
-
- shift
- while [ -n "$1" ]; do
- val="0x$1"
- ret=$((ret ^ val))
- shift
- done
-
- printf "%0${retlen}x" "$ret"
-}
-
ath9k_patch_fw_mac() {
local mac=$1
local mac_offset=$(($2))
diff --git a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index ed3432273c..6e79094e0c 100644
--- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -1,23 +1,8 @@
#!/bin/sh
+. /lib/functions.sh
. /lib/functions/k2t.sh
-# xor multiple hex values of the same length
-xor() {
- local val
- local ret="0x$1"
- local retlen=${#1}
-
- shift
- while [ -n "$1" ]; do
- val="0x$1"
- ret=$((ret ^ val))
- shift
- done
-
- printf "%0${retlen}x" "$ret"
-}
-
ath10kcal_die() {
echo "ath10cal: " "$*"
exit 1
@@ -79,7 +64,6 @@ ath10kcal_patch_mac_crc() {
[ -e /lib/firmware/$FIRMWARE ] && exit 0
-. /lib/functions.sh
. /lib/functions/system.sh
board=$(board_name)
diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index be57646128..dfb0a0cf76 100644
--- a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -1,20 +1,6 @@
#!/bin/sh
-# xor multiple hex values of the same length
-xor() {
- local val
- local ret="0x$1"
- local retlen=${#1}
-
- shift
- while [ -n "$1" ]; do
- val="0x$1"
- ret=$((ret ^ val))
- shift
- done
-
- printf "%0${retlen}x" "$ret"
-}
+. /lib/functions.sh
ath10kcal_die() {
echo "ath10cal: " "$*"
@@ -88,7 +74,6 @@ ath10kcal_is_caldata_valid() {
[ -e /lib/firmware/$FIRMWARE ] && exit 0
-. /lib/functions.sh
. /lib/functions/system.sh
board=$(board_name)
diff --git a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index bdc36070f2..c0fb1db16d 100644
--- a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -1,20 +1,6 @@
#!/bin/sh
-# xor multiple hex values of the same length
-xor() {
- local val
- local ret="0x$1"
- local retlen=${#1}
-
- shift
- while [ -n "$1" ]; do
- val="0x$1"
- ret=$((ret ^ val))
- shift
- done
-
- printf "%0${retlen}x" "$ret"
-}
+. /lib/functions.sh
ath10kcal_die() {
echo "ath10cal: " "$*"
@@ -71,7 +57,6 @@ ath10kcal_patch_mac_crc() {
[ -e /lib/firmware/$FIRMWARE ] && exit 0
-. /lib/functions.sh
. /lib/functions/system.sh
board=$(board_name)
diff --git a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
index 82f6885221..5f3eb0cfe3 100644
--- a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
+++ b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
@@ -7,22 +7,6 @@
. /lib/functions/system.sh
. /lib/upgrade/nand.sh
-# xor multiple hex values of the same length
-xor() {
- local val
- local ret="0x$1"
- local retlen=${#1}
-
- shift
- while [ -n "$1" ]; do
- val="0x$1"
- ret=$((ret ^ val))
- shift
- done
-
- printf "%0${retlen}x" "$ret"
-}
-
ath9k_eeprom_die() {
echo "ath9k eeprom: $*"
exit 1
--
2.20.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list