treewide: move calibration data extraction function to library
[openwrt/openwrt.git] / target / linux / mpc85xx / base-files / etc / hotplug.d / firmware / 10-ath9k-eeprom
index dc66226d7bfb7ac5b8e38947e2db2d659da25682..bcde02593a14830a944339363f5777538bc91477 100644 (file)
@@ -1,25 +1,8 @@
 #!/bin/sh
 
-FW_FILE="/lib/firmware/$FIRMWARE"
+[ -e /lib/firmware/$FIRMWARE ] && exit 0
 
-ath9k_eeprom_die() {
-       echo "ath9k eeprom: " "$*" >&2
-       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 bs=$offset skip=1 count=1 2>/dev/null | dd of=$FW_FILE bs=$count count=1 2>/dev/null || \
-               ath9k_eeprom_die "failed to extract from $mtd"
-}
+. /lib/functions/caldata.sh
 
 tpl_set_wireless_mac()
 {
@@ -29,25 +12,20 @@ tpl_set_wireless_mac()
        mac=$(mtd_get_mac_binary u-boot 0x4fc00)
        mac=$(macaddr_add $mac $offset)
 
-       macaddr_2bin $mac | dd bs=1 count=6 seek=2 conv=notrunc of=$FW_FILE 2>/dev/null
+       macaddr_2bin $mac | dd bs=1 count=6 seek=2 conv=notrunc of=/lib/firmware/$FIRMWARE 2>/dev/null
 }
 
-[ -e $FW_FILE ] && exit 0
-
-. /lib/functions.sh
-. /lib/functions/system.sh
-
 board=$(board_name)
 
 case "$FIRMWARE" in
 "pci_wmac0.eeprom")
        case $board in
        tplink,tl-wdr4900-v1)
-               ath9k_eeprom_extract "caldata" 0x1000 0x800
+               caldata_extract "caldata" 0x1000 0x800
                tpl_set_wireless_mac 0
                ;;
        *)
-               ath9k_eeprom_die "board $board is not supported yet"
+               caldata_die "board $board is not supported yet"
                ;;
        esac
        ;;
@@ -55,11 +33,11 @@ case "$FIRMWARE" in
 "pci_wmac1.eeprom")
        case $board in
        tplink,tl-wdr4900-v1)
-               ath9k_eeprom_extract "caldata" 0x5000 0x800
+               caldata_extract "caldata" 0x5000 0x800
                tpl_set_wireless_mac -1
                ;;
        *)
-               ath9k_eeprom_die "board $board is not supported yet"
+               caldata_die "board $board is not supported yet"
                ;;
        esac
        ;;