treewide: move calibration data extraction function to library
[openwrt/openwrt.git] / target / linux / lantiq / base-files / etc / hotplug.d / firmware / 12-ath9k-eeprom
index 2c4a5a17993abe9da15e691e7b69d66c411aae84..20160cb32b1b604e628d81b926b71a1bae860819 100644 (file)
@@ -3,15 +3,9 @@
 
 [ -e /lib/firmware/$FIRMWARE ] && exit 0
 
-. /lib/functions.sh
-. /lib/functions/system.sh
+. /lib/functions/caldata.sh
 . /lib/upgrade/nand.sh
 
-ath9k_eeprom_die() {
-       echo "ath9k eeprom: $*"
-       exit 1
-}
-
 ath9k_eeprom_extract_raw() {
        local source=$1
        local offset=$(($2))
@@ -28,25 +22,7 @@ ath9k_eeprom_extract_raw() {
        fi
 
        dd if=$source of=/lib/firmware/$FIRMWARE bs=$bs skip=$offset count=$size $conv 2>/dev/null || \
-                       ath9k_eeprom_die "failed to extract from $mtd"
-}
-
-ath9k_eeprom_extract_reverse() {
-       local part=$1
-       local offset=$2
-       local count=$(($3))
-       local mtd
-       local reversed
-       local caldata
-
-       mtd=$(find_mtd_chardev "$part")
-       reversed=$(hexdump -v -s $offset -n $count -e '/1 "%02x "' $mtd)
-
-       for byte in $reversed; do
-               caldata="\x${byte}${caldata}"
-       done
-
-       printf "%b" "$caldata" > /lib/firmware/$FIRMWARE
+                       caldata_die "failed to extract from $mtd"
 }
 
 ath9k_eeprom_extract() {
@@ -57,7 +33,7 @@ ath9k_eeprom_extract() {
 
        mtd=$(find_mtd_chardev $part)
        [ -n "$mtd" ] || \
-               ath9k_eeprom_die "no mtd device found for partition $part"
+               caldata_die "no mtd device found for partition $part"
 
        ath9k_eeprom_extract_raw $mtd $offset $swap
 }
@@ -71,7 +47,7 @@ ath9k_ubi_eeprom_extract() {
 
        ubi=$(nand_find_volume $ubidev $part)
        [ -n "$ubi" ] || \
-               ath9k_eeprom_die "no UBI volume found for $part"
+               caldata_die "no UBI volume found for $part"
 
        ath9k_eeprom_extract_raw /dev/$ubi $offset $swap
 }
@@ -143,7 +119,7 @@ case "$FIRMWARE" in
                        avm,fritz3370-rev2-hynix|\
                        avm,fritz3370-rev2-micron|\
                        avm,fritz7362sl)
-                               ath9k_eeprom_extract_reverse "urlader" 0x1541 0x440
+                               caldata_extract_reverse "urlader" 0x1541 0x440
                                ;;
                        avm,fritz7312|avm,fritz7320|avm,fritz7360sl)
                                ath9k_eeprom_extract "urlader" 0x985 0
@@ -155,7 +131,7 @@ case "$FIRMWARE" in
                                ath9k_eeprom_extract "boardconfig" 0x21000 0
                                ;;
                        *)
-                               ath9k_eeprom_die "board $board is not supported yet"
+                               caldata_die "board $board is not supported yet"
                                ;;
                esac
                ;;