ath79/mikrotik: load caldata via sysfs loader
authorThibaut VARÈNE <hacks@slashdirt.org>
Sun, 19 Apr 2020 15:17:03 +0000 (17:17 +0200)
committerKoen Vandeputte <koen.vandeputte@ncentric.com>
Fri, 8 May 2020 13:17:17 +0000 (15:17 +0200)
This commit takes advantages of base-files 220 which introduces routines
to perform caldata loading directly via the kernel sysfs loader helper.
This has the benefits of not wasting flash space to store caldata.

Memory footprint is reduced to the bare minimum: for devices that don't
need MAC patching, the caldata is loaded directly, for devices that do
need MAC patching, the caldata is extracted to /tmp, patched and then
loaded.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
target/linux/ath79/mikrotik/base-files/etc/hotplug.d/firmware/11-ath10k-caldata

index 884e150bbb7cba1af7a0af61701931e9453a5a19..d16190d8030a76cc639ae504a49c67d5cd0a21af 100644 (file)
@@ -13,8 +13,10 @@ case "$FIRMWARE" in
 "ath9k-eeprom-ahb-18100000.wmac.bin")
        case $board in
        mikrotik,routerboard-wap-g-5hact2hnd)
-               caldata_from_file $wlan_data 0x1000 0x440
-               ath9k_patch_mac $(macaddr_add "$mac_base" +2)
+               caldata_from_file $wlan_data 0x1000 0x440 /tmp/$FIRMWARE
+               ath9k_patch_mac $(macaddr_add "$mac_base" +2) /tmp/$FIRMWARE
+               caldata_sysfsload_from_file /tmp/$FIRMWARE 0x0 0x440
+               rm -f /tmp/$FIRMWARE
                ;;
        *)
                caldata_die "board $board is not supported yet"
index b486a5720d1e888162e14ffef3c477544678781e..531c21678f460825dbfd08e7b2ece7c7345b8deb 100644 (file)
@@ -12,14 +12,14 @@ case "$FIRMWARE" in
 "ath10k/cal-pci-0000:00:00.0.bin")
        case $board in
        mikrotik,routerboard-wap-g-5hact2hnd)
-               caldata_from_file $wlan_data 0x5000 0x844
+               caldata_sysfsload_from_file $wlan_data 0x5000 0x844
                ;;
        esac
        ;;
 "ath10k/cal-pci-0000:01:00.0.bin")
        case $board in
        mikrotik,routerboard-922uags-5hpacd)
-               caldata_from_file $wlan_data 0x5000 0x844
+               caldata_sysfsload_from_file $wlan_data 0x5000 0x844
                ;;
        esac
        ;;