treewide: move calibration data extraction function to library
[openwrt/staging/dedeckeh.git] / target / linux / apm821xx / base-files / etc / hotplug.d / firmware / 10-ath9k-eeprom
index 272c084c997e4b7750e8cb4611a21ca8c86ba670..07100b1856c042317c990eb1718d1dc93c56fcb5 100644 (file)
@@ -2,42 +2,7 @@
 
 [ -e /lib/firmware/$FIRMWARE ] && exit 0
 
-. /lib/functions.sh
-. /lib/functions/system.sh
-
-ath9k_eeprom_die() {
-       echo "ath9k eeprom: " "$*"
-       exit 1
-}
-
-ath9k_eeprom_extract() {
-       local part=$1
-       local offset=$(($2))
-       local count=$(($3))
-       local mtd
-
-       mtd=$(find_mtd_chardev $part)
-       [ -n "$mtd" ] || \
-               ath9k_eeprom_die "no mtd device found for partition $part"
-
-       dd if=$mtd of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
-               ath9k_eeprom_die "failed to extract from $mtd"
-}
-
-ath9k_ubi_eeprom_extract() {
-       local part=$1
-       local offset=$(($2))
-       local count=$(($3))
-       local ubidev=$(nand_find_ubi $CI_UBIPART)
-       local ubi
-
-       ubi=$(nand_find_volume $ubidev $part)
-       [ -n "$ubi" ] || \
-               ath9k_eeprom_die "no UBI volume found for $part"
-
-       dd if=/dev/$ubi of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
-               ath9k_eeprom_die "failed to extract from $ubi"
-}
+. /lib/functions/caldata.sh
 
 ath9k_patch_firmware_mac() {
        local mac=$1
@@ -56,14 +21,14 @@ case "$FIRMWARE" in
                . /lib/upgrade/nand.sh
 
                if [ -n "$(nand_find_volume ubi0 caldata)" ]; then
-                       ath9k_ubi_eeprom_extract "caldata" 0x5000 0x1000
+                       caldata_extract_ubi "caldata" 0x5000 0x1000
                else
-                       ath9k_eeprom_extract "wifi_data" 0x5000 0x1000
+                       caldata_extract "wifi_data" 0x5000 0x1000
                        ath9k_patch_firmware_mac $(mtd_get_mac_binary wifi_data 0xc)
                fi
                ;;
        *)
-               ath9k_eeprom_die "board $board is not supported yet"
+               caldata_die "board $board is not supported yet"
                ;;
        esac
        ;;
@@ -74,14 +39,14 @@ case "$FIRMWARE" in
                . /lib/upgrade/nand.sh
 
                if [ -n "$(nand_find_volume ubi0 caldata)" ]; then
-                       ath9k_ubi_eeprom_extract "caldata" 0x1000 0x1000
+                       caldata_extract_ubi "caldata" 0x1000 0x1000
                else
-                       ath9k_eeprom_extract "wifi_data" 0x1000 0x1000
+                       caldata_extract "wifi_data" 0x1000 0x1000
                        ath9k_patch_firmware_mac $(mtd_get_mac_binary wifi_data 0x0)
                fi
                ;;
        *)
-               ath9k_eeprom_die "board $board is not supported yet"
+               caldata_die "board $board is not supported yet"
                ;;
        esac
        ;;