From 5b6a80909280cafcb1e28ca120eed6922d68dc5a Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Sun, 22 Sep 2019 11:57:13 +0200 Subject: treewide: move calibration data extraction function to library This moves the almost identical calibration data extraction functions present multiple times in several targets to a single library file /lib/functions/caldata.sh. Functions are renamed with more generic names to merge different variants that only differ in their names. Most of the targets used find_mtd_chardev, while some used find_mtd_part inside the extraction code. To merge them, the more abundant version with find_mtd_chardev is used in the common code. Signed-off-by: Adrian Schmutzler [rebase on latest master; add mpc85xx] Signed-off-by: David Bauer --- .../etc/hotplug.d/firmware/11-ath10k-caldata | 62 ++++++---------------- 1 file changed, 16 insertions(+), 46 deletions(-) (limited to 'target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata') 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 c0fb1db16d..12b76ec33f 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,34 +1,8 @@ #!/bin/sh -. /lib/functions.sh - -ath10kcal_die() { - echo "ath10cal: " "$*" - exit 1 -} - -ath10kcal_from_file() { - local source=$1 - local offset=$(($2)) - local count=$(($3)) - - dd if=$source of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count 2>/dev/null || \ - ath10kcal_die "failed to extract calibration data from $source" -} - -ath10kcal_extract() { - local part=$1 - local offset=$(($2)) - local count=$(($3)) - local mtd - - mtd=$(find_mtd_chardev $part) - [ -n "$mtd" ] || \ - ath10kcal_die "no mtd device found for partition $part" +[ -e /lib/firmware/$FIRMWARE ] && exit 0 - dd if=$mtd of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count 2>/dev/null || \ - ath10kcal_die "failed to extract calibration data from $mtd" -} +. /lib/functions/caldata.sh ath10kcal_patch_mac_crc() { local mac=$1 @@ -55,43 +29,39 @@ ath10kcal_patch_mac_crc() { dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1 seek=$chksum_offset count=2 } -[ -e /lib/firmware/$FIRMWARE ] && exit 0 - -. /lib/functions/system.sh - board=$(board_name) case "$FIRMWARE" in "ath10k/pre-cal-pci-0000:01:00.0.bin") case $board in buffalo,wxr-2533dhp) - ath10kcal_extract "ART" 0x1000 0x2f20 + caldata_extract "ART" 0x1000 0x2f20 ath10kcal_patch_mac_crc $(mtd_get_mac_binary ART 0x1e) ;; linksys,ea8500) - ath10kcal_extract "art" 0x1000 0x2f20 + caldata_extract "art" 0x1000 0x2f20 ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii devinfo hw_mac_addr) +1) ;; nec,wg2600hp) - ath10kcal_extract "ART" 0x1000 0x2f20 + caldata_extract "ART" 0x1000 0x2f20 ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary PRODUCTDATA 0xc) +1) ;; netgear,d7800 |\ netgear,r7500v2 |\ netgear,r7800) - ath10kcal_extract "art" 0x1000 0x2f20 + caldata_extract "art" 0x1000 0x2f20 ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary art 0x6) +1) ;; tplink,c2600) - ath10kcal_extract "radio" 0x1000 0x2f20 + caldata_extract "radio" 0x1000 0x2f20 ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary default-mac 0x8) -1) ;; tplink,vr2600v) - ath10kcal_extract "ART" 0x1000 0x2f20 + caldata_extract "ART" 0x1000 0x2f20 ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary default-mac 0x0) -1) ;; zyxel,nbg6817) - ath10kcal_extract "0:ART" 0x1000 0x2f20 + caldata_extract "0:ART" 0x1000 0x2f20 ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii 0:APPSBLENV ethaddr) +1) ;; esac @@ -99,33 +69,33 @@ case "$FIRMWARE" in "ath10k/pre-cal-pci-0001:01:00.0.bin") case $board in buffalo,wxr-2533dhp) - ath10kcal_extract "ART" 0x5000 0x2f20 + caldata_extract "ART" 0x5000 0x2f20 ath10kcal_patch_mac_crc $(mtd_get_mac_binary ART 0x18) ;; linksys,ea8500) - ath10kcal_extract "art" 0x5000 0x2f20 + caldata_extract "art" 0x5000 0x2f20 ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii devinfo hw_mac_addr) +2) ;; nec,wg2600hp) - ath10kcal_extract "ART" 0x5000 0x2f20 + caldata_extract "ART" 0x5000 0x2f20 ath10kcal_patch_mac_crc $(mtd_get_mac_binary PRODUCTDATA 0xc) ;; netgear,d7800 |\ netgear,r7500v2 |\ netgear,r7800) - ath10kcal_extract "art" 0x5000 0x2f20 + caldata_extract "art" 0x5000 0x2f20 ath10kcal_patch_mac_crc $(macaddr_add $(mtd_get_mac_binary art 0x6) +2) ;; tplink,c2600) - ath10kcal_extract "radio" 0x5000 0x2f20 + caldata_extract "radio" 0x5000 0x2f20 ath10kcal_patch_mac_crc $(mtd_get_mac_binary default-mac 0x8) ;; tplink,vr2600v) - ath10kcal_extract "ART" 0x5000 0x2f20 + caldata_extract "ART" 0x5000 0x2f20 ath10kcal_patch_mac_crc $(mtd_get_mac_binary default-mac 0x0) ;; zyxel,nbg6817) - ath10kcal_extract "0:ART" 0x5000 0x2f20 + caldata_extract "0:ART" 0x5000 0x2f20 ath10kcal_patch_mac_crc $(mtd_get_mac_ascii 0:APPSBLENV ethaddr) ;; esac -- cgit v1.2.3