diff mbox series

[OpenWrt-Devel,v2,11/14] package/base-files: caldata: allow setting target file

Message ID 20200420133503.18700-12-hacks@slashdirt.org
State Accepted
Delegated to: Koen Vandeputte
Headers show
Series RouterBOARD sysfs driver for RouterBoot data | expand

Commit Message

Thibaut April 20, 2020, 1:35 p.m. UTC
This will enable platforms to extract caldata to an arbitrary file,
or patch mac in an abitrary file.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
---
 package/base-files/Makefile                       |  2 +-
 package/base-files/files/lib/functions/caldata.sh | 29 ++++++++++++++++-------
 2 files changed, 22 insertions(+), 9 deletions(-)

Comments

Adrian Schmutzler April 20, 2020, 2:09 p.m. UTC | #1
Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>

I personally prefer
[ -n "$var" ] || do something
to
[ -z "$var" ] && do something
but that's pure matter of taste again.

Best

Adrian

> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org]
> On Behalf Of Thibaut VARÈNE
> Sent: Montag, 20. April 2020 15:35
> To: openwrt-devel@lists.openwrt.org
> Cc: Thibaut VARÈNE <hacks@slashdirt.org>; koen.vandeputte@ncentric.com
> Subject: [OpenWrt-Devel] [PATCH v2 11/14] package/base-files: caldata:
> allow setting target file
> 
> This will enable platforms to extract caldata to an arbitrary file, or patch mac
> in an abitrary file.
> 
> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
> ---
>  package/base-files/Makefile                       |  2 +-
>  package/base-files/files/lib/functions/caldata.sh | 29 ++++++++++++++++--
> -----
>  2 files changed, 22 insertions(+), 9 deletions(-)
> 
> diff --git a/package/base-files/Makefile b/package/base-files/Makefile index
> 156e7bc8b9..f1f0f17a60 100644
> --- a/package/base-files/Makefile
> +++ b/package/base-files/Makefile
> @@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk  include
> $(INCLUDE_DIR)/feeds.mk
> 
>  PKG_NAME:=base-files
> -PKG_RELEASE:=218
> +PKG_RELEASE:=219
>  PKG_FLAGS:=nonshared
> 
>  PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/
> $(GENERIC_PLATFORM_DIR)/base-files/
> diff --git a/package/base-files/files/lib/functions/caldata.sh b/package/base-
> files/files/lib/functions/caldata.sh
> index 3bdb1e4dd5..e9349c7eee 100644
> --- a/package/base-files/files/lib/functions/caldata.sh
> +++ b/package/base-files/files/lib/functions/caldata.sh
> @@ -60,15 +60,21 @@ caldata_from_file() {
>  	local source=$1
>  	local offset=$(($2))
>  	local count=$(($3))
> +	local target=$4
> 
> -	dd if=$source of=/lib/firmware/$FIRMWARE iflag=skip_bytes
> bs=$count skip=$offset count=1 2>/dev/null || \
> +	[ -z "$target" ] && target=/lib/firmware/$FIRMWARE
> +
> +	dd if=$source of=$target iflag=skip_bytes bs=$count skip=$offset
> +count=1 2>/dev/null || \
>  		caldata_die "failed to extract calibration data from $source"
>  }
> 
>  caldata_valid() {
>  	local expected="$1"
> +	local target=$2
> +
> +	[ -z "$target" ] && target=/lib/firmware/$FIRMWARE
> 
> -	magic=$(hexdump -v -n 2 -e '1/1 "%02x"' /lib/firmware/$FIRMWARE)
> +	magic=$(hexdump -v -n 2 -e '1/1 "%02x"' $target)
>  	[ "$magic" = "$expected" ]
>  	return $?
>  }
> @@ -77,6 +83,7 @@ caldata_patch_chksum() {
>  	local mac=$1
>  	local mac_offset=$(($2))
>  	local chksum_offset=$(($3))
> +	local target=$4
>  	local xor_mac
>  	local xor_fw_mac
>  	local xor_fw_chksum
> @@ -91,38 +98,44 @@ caldata_patch_chksum() {
>  	xor_fw_chksum=$(xor $xor_fw_chksum $xor_fw_mac $xor_mac)
> 
>  	printf "%b" "\x${xor_fw_chksum:0:2}\x${xor_fw_chksum:2:2}" | \
> -		dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1
> seek=$chksum_offset count=2
> +		dd of=$target conv=notrunc bs=1 seek=$chksum_offset
> count=2
>  }
> 
>  caldata_patch_mac() {
>  	local mac=$1
>  	local mac_offset=$(($2))
>  	local chksum_offset=$3
> +	local target=$4
> 
>  	[ -z "$mac" -o -z "$mac_offset" ] && return
> 
> -	[ -n "$chksum_offset" ] && caldata_patch_chksum "$mac"
> "$mac_offset" "$chksum_offset"
> +	[ -z "$target" ] && target=/lib/firmware/$FIRMWARE
> +
> +	[ -n "$chksum_offset" ] && caldata_patch_chksum "$mac"
> "$mac_offset" "$chksum_offset" "$target"
> 
> -	macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE
> conv=notrunc oflag=seek_bytes bs=6 seek=$mac_offset count=1 || \
> +	macaddr_2bin $mac | dd of=$target conv=notrunc oflag=seek_bytes
> bs=6
> +seek=$mac_offset count=1 || \
>  		caldata_die "failed to write MAC address to eeprom file"
>  }
> 
>  ath9k_patch_mac() {
>  	local mac=$1
> +	local target=$2
> 
> -	caldata_patch_mac "$mac" 0x2
> +	caldata_patch_mac "$mac" 0x2 "" "$target"
>  }
> 
>  ath9k_patch_mac_crc() {
>  	local mac=$1
>  	local mac_offset=$2
>  	local chksum_offset=$((mac_offset - 10))
> +	local target=$4
> 
> -	caldata_patch_mac "$mac" "$mac_offset" "$chksum_offset"
> +	caldata_patch_mac "$mac" "$mac_offset" "$chksum_offset"
> "$target"
>  }
> 
>  ath10k_patch_mac() {
>  	local mac=$1
> +	local target=$2
> 
> -	caldata_patch_mac "$mac" 0x6 0x2
> +	caldata_patch_mac "$mac" 0x6 0x2 "$target"
>  }
> --
> 2.11.0
> 
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Philip Prindeville April 21, 2020, 6:24 p.m. UTC | #2
Agreed, especially if you’re using “set -e” for debugging…


> On Apr 20, 2020, at 8:09 AM, mail@adrianschmutzler.de wrote:
> 
> Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
> 
> I personally prefer
> [ -n "$var" ] || do something
> to
> [ -z "$var" ] && do something
> but that's pure matter of taste again.
> 
> Best
> 
> Adrian
> 
>> -----Original Message-----
>> From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org]
>> On Behalf Of Thibaut VARÈNE
>> Sent: Montag, 20. April 2020 15:35
>> To: openwrt-devel@lists.openwrt.org
>> Cc: Thibaut VARÈNE <hacks@slashdirt.org>; koen.vandeputte@ncentric.com
>> Subject: [OpenWrt-Devel] [PATCH v2 11/14] package/base-files: caldata:
>> allow setting target file
>> 
>> This will enable platforms to extract caldata to an arbitrary file, or patch mac
>> in an abitrary file.
>> 
>> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
>> ---
>> package/base-files/Makefile                       |  2 +-
>> package/base-files/files/lib/functions/caldata.sh | 29 ++++++++++++++++--
>> -----
>> 2 files changed, 22 insertions(+), 9 deletions(-)
>> 
>> diff --git a/package/base-files/Makefile b/package/base-files/Makefile index
>> 156e7bc8b9..f1f0f17a60 100644
>> --- a/package/base-files/Makefile
>> +++ b/package/base-files/Makefile
>> @@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk  include
>> $(INCLUDE_DIR)/feeds.mk
>> 
>> PKG_NAME:=base-files
>> -PKG_RELEASE:=218
>> +PKG_RELEASE:=219
>> PKG_FLAGS:=nonshared
>> 
>> PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/
>> $(GENERIC_PLATFORM_DIR)/base-files/
>> diff --git a/package/base-files/files/lib/functions/caldata.sh b/package/base-
>> files/files/lib/functions/caldata.sh
>> index 3bdb1e4dd5..e9349c7eee 100644
>> --- a/package/base-files/files/lib/functions/caldata.sh
>> +++ b/package/base-files/files/lib/functions/caldata.sh
>> @@ -60,15 +60,21 @@ caldata_from_file() {
>> 	local source=$1
>> 	local offset=$(($2))
>> 	local count=$(($3))
>> +	local target=$4
>> 
>> -	dd if=$source of=/lib/firmware/$FIRMWARE iflag=skip_bytes
>> bs=$count skip=$offset count=1 2>/dev/null || \
>> +	[ -z "$target" ] && target=/lib/firmware/$FIRMWARE
>> +
>> +	dd if=$source of=$target iflag=skip_bytes bs=$count skip=$offset
>> +count=1 2>/dev/null || \
>> 		caldata_die "failed to extract calibration data from $source"
>> }
>> 
>> caldata_valid() {
>> 	local expected="$1"
>> +	local target=$2
>> +
>> +	[ -z "$target" ] && target=/lib/firmware/$FIRMWARE
>> 
>> -	magic=$(hexdump -v -n 2 -e '1/1 "%02x"' /lib/firmware/$FIRMWARE)
>> +	magic=$(hexdump -v -n 2 -e '1/1 "%02x"' $target)
>> 	[ "$magic" = "$expected" ]
>> 	return $?
>> }
>> @@ -77,6 +83,7 @@ caldata_patch_chksum() {
>> 	local mac=$1
>> 	local mac_offset=$(($2))
>> 	local chksum_offset=$(($3))
>> +	local target=$4
>> 	local xor_mac
>> 	local xor_fw_mac
>> 	local xor_fw_chksum
>> @@ -91,38 +98,44 @@ caldata_patch_chksum() {
>> 	xor_fw_chksum=$(xor $xor_fw_chksum $xor_fw_mac $xor_mac)
>> 
>> 	printf "%b" "\x${xor_fw_chksum:0:2}\x${xor_fw_chksum:2:2}" | \
>> -		dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1
>> seek=$chksum_offset count=2
>> +		dd of=$target conv=notrunc bs=1 seek=$chksum_offset
>> count=2
>> }
>> 
>> caldata_patch_mac() {
>> 	local mac=$1
>> 	local mac_offset=$(($2))
>> 	local chksum_offset=$3
>> +	local target=$4
>> 
>> 	[ -z "$mac" -o -z "$mac_offset" ] && return
>> 
>> -	[ -n "$chksum_offset" ] && caldata_patch_chksum "$mac"
>> "$mac_offset" "$chksum_offset"
>> +	[ -z "$target" ] && target=/lib/firmware/$FIRMWARE
>> +
>> +	[ -n "$chksum_offset" ] && caldata_patch_chksum "$mac"
>> "$mac_offset" "$chksum_offset" "$target"
>> 
>> -	macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE
>> conv=notrunc oflag=seek_bytes bs=6 seek=$mac_offset count=1 || \
>> +	macaddr_2bin $mac | dd of=$target conv=notrunc oflag=seek_bytes
>> bs=6
>> +seek=$mac_offset count=1 || \
>> 		caldata_die "failed to write MAC address to eeprom file"
>> }
>> 
>> ath9k_patch_mac() {
>> 	local mac=$1
>> +	local target=$2
>> 
>> -	caldata_patch_mac "$mac" 0x2
>> +	caldata_patch_mac "$mac" 0x2 "" "$target"
>> }
>> 
>> ath9k_patch_mac_crc() {
>> 	local mac=$1
>> 	local mac_offset=$2
>> 	local chksum_offset=$((mac_offset - 10))
>> +	local target=$4
>> 
>> -	caldata_patch_mac "$mac" "$mac_offset" "$chksum_offset"
>> +	caldata_patch_mac "$mac" "$mac_offset" "$chksum_offset"
>> "$target"
>> }
>> 
>> ath10k_patch_mac() {
>> 	local mac=$1
>> +	local target=$2
>> 
>> -	caldata_patch_mac "$mac" 0x6 0x2
>> +	caldata_patch_mac "$mac" 0x6 0x2 "$target"
>> }
>> --
>> 2.11.0
>> 
>> 
>> _______________________________________________
>> openwrt-devel mailing list
>> openwrt-devel@lists.openwrt.org
>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Thibaut April 21, 2020, 9:15 p.m. UTC | #3
Fixed.

> Le 21 avr. 2020 à 20:24, Philip Prindeville <philipp_subx@redfish-solutions.com> a écrit :
> 
> Agreed, especially if you’re using “set -e” for debugging…
> 
> 
>> On Apr 20, 2020, at 8:09 AM, mail@adrianschmutzler.de wrote:
>> 
>> Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
>> 
>> I personally prefer
>> [ -n "$var" ] || do something
>> to
>> [ -z "$var" ] && do something
>> but that's pure matter of taste again.
>> 
>> Best
>> 
>> Adrian
>> 
>>> -----Original Message-----
>>> From: openwrt-devel [mailto:openwrt-devel-bounces@lists.openwrt.org]
>>> On Behalf Of Thibaut VARÈNE
>>> Sent: Montag, 20. April 2020 15:35
>>> To: openwrt-devel@lists.openwrt.org
>>> Cc: Thibaut VARÈNE <hacks@slashdirt.org>; koen.vandeputte@ncentric.com
>>> Subject: [OpenWrt-Devel] [PATCH v2 11/14] package/base-files: caldata:
>>> allow setting target file
>>> 
>>> This will enable platforms to extract caldata to an arbitrary file, or patch mac
>>> in an abitrary file.
>>> 
>>> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
>>> ---
>>> package/base-files/Makefile                       |  2 +-
>>> package/base-files/files/lib/functions/caldata.sh | 29 ++++++++++++++++--
>>> -----
>>> 2 files changed, 22 insertions(+), 9 deletions(-)
>>> 
>>> diff --git a/package/base-files/Makefile b/package/base-files/Makefile index
>>> 156e7bc8b9..f1f0f17a60 100644
>>> --- a/package/base-files/Makefile
>>> +++ b/package/base-files/Makefile
>>> @@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk  include
>>> $(INCLUDE_DIR)/feeds.mk
>>> 
>>> PKG_NAME:=base-files
>>> -PKG_RELEASE:=218
>>> +PKG_RELEASE:=219
>>> PKG_FLAGS:=nonshared
>>> 
>>> PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/
>>> $(GENERIC_PLATFORM_DIR)/base-files/
>>> diff --git a/package/base-files/files/lib/functions/caldata.sh b/package/base-
>>> files/files/lib/functions/caldata.sh
>>> index 3bdb1e4dd5..e9349c7eee 100644
>>> --- a/package/base-files/files/lib/functions/caldata.sh
>>> +++ b/package/base-files/files/lib/functions/caldata.sh
>>> @@ -60,15 +60,21 @@ caldata_from_file() {
>>> 	local source=$1
>>> 	local offset=$(($2))
>>> 	local count=$(($3))
>>> +	local target=$4
>>> 
>>> -	dd if=$source of=/lib/firmware/$FIRMWARE iflag=skip_bytes
>>> bs=$count skip=$offset count=1 2>/dev/null || \
>>> +	[ -z "$target" ] && target=/lib/firmware/$FIRMWARE
>>> +
>>> +	dd if=$source of=$target iflag=skip_bytes bs=$count skip=$offset
>>> +count=1 2>/dev/null || \
>>> 		caldata_die "failed to extract calibration data from $source"
>>> }
>>> 
>>> caldata_valid() {
>>> 	local expected="$1"
>>> +	local target=$2
>>> +
>>> +	[ -z "$target" ] && target=/lib/firmware/$FIRMWARE
>>> 
>>> -	magic=$(hexdump -v -n 2 -e '1/1 "%02x"' /lib/firmware/$FIRMWARE)
>>> +	magic=$(hexdump -v -n 2 -e '1/1 "%02x"' $target)
>>> 	[ "$magic" = "$expected" ]
>>> 	return $?
>>> }
>>> @@ -77,6 +83,7 @@ caldata_patch_chksum() {
>>> 	local mac=$1
>>> 	local mac_offset=$(($2))
>>> 	local chksum_offset=$(($3))
>>> +	local target=$4
>>> 	local xor_mac
>>> 	local xor_fw_mac
>>> 	local xor_fw_chksum
>>> @@ -91,38 +98,44 @@ caldata_patch_chksum() {
>>> 	xor_fw_chksum=$(xor $xor_fw_chksum $xor_fw_mac $xor_mac)
>>> 
>>> 	printf "%b" "\x${xor_fw_chksum:0:2}\x${xor_fw_chksum:2:2}" | \
>>> -		dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1
>>> seek=$chksum_offset count=2
>>> +		dd of=$target conv=notrunc bs=1 seek=$chksum_offset
>>> count=2
>>> }
>>> 
>>> caldata_patch_mac() {
>>> 	local mac=$1
>>> 	local mac_offset=$(($2))
>>> 	local chksum_offset=$3
>>> +	local target=$4
>>> 
>>> 	[ -z "$mac" -o -z "$mac_offset" ] && return
>>> 
>>> -	[ -n "$chksum_offset" ] && caldata_patch_chksum "$mac"
>>> "$mac_offset" "$chksum_offset"
>>> +	[ -z "$target" ] && target=/lib/firmware/$FIRMWARE
>>> +
>>> +	[ -n "$chksum_offset" ] && caldata_patch_chksum "$mac"
>>> "$mac_offset" "$chksum_offset" "$target"
>>> 
>>> -	macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE
>>> conv=notrunc oflag=seek_bytes bs=6 seek=$mac_offset count=1 || \
>>> +	macaddr_2bin $mac | dd of=$target conv=notrunc oflag=seek_bytes
>>> bs=6
>>> +seek=$mac_offset count=1 || \
>>> 		caldata_die "failed to write MAC address to eeprom file"
>>> }
>>> 
>>> ath9k_patch_mac() {
>>> 	local mac=$1
>>> +	local target=$2
>>> 
>>> -	caldata_patch_mac "$mac" 0x2
>>> +	caldata_patch_mac "$mac" 0x2 "" "$target"
>>> }
>>> 
>>> ath9k_patch_mac_crc() {
>>> 	local mac=$1
>>> 	local mac_offset=$2
>>> 	local chksum_offset=$((mac_offset - 10))
>>> +	local target=$4
>>> 
>>> -	caldata_patch_mac "$mac" "$mac_offset" "$chksum_offset"
>>> +	caldata_patch_mac "$mac" "$mac_offset" "$chksum_offset"
>>> "$target"
>>> }
>>> 
>>> ath10k_patch_mac() {
>>> 	local mac=$1
>>> +	local target=$2
>>> 
>>> -	caldata_patch_mac "$mac" 0x6 0x2
>>> +	caldata_patch_mac "$mac" 0x6 0x2 "$target"
>>> }
>>> --
>>> 2.11.0
>>> 
>>> 
>>> _______________________________________________
>>> openwrt-devel mailing list
>>> openwrt-devel@lists.openwrt.org
>>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>> _______________________________________________
>> openwrt-devel mailing list
>> openwrt-devel@lists.openwrt.org
>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>
diff mbox series

Patch

diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 156e7bc8b9..f1f0f17a60 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -12,7 +12,7 @@  include $(INCLUDE_DIR)/version.mk
 include $(INCLUDE_DIR)/feeds.mk
 
 PKG_NAME:=base-files
-PKG_RELEASE:=218
+PKG_RELEASE:=219
 PKG_FLAGS:=nonshared
 
 PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
diff --git a/package/base-files/files/lib/functions/caldata.sh b/package/base-files/files/lib/functions/caldata.sh
index 3bdb1e4dd5..e9349c7eee 100644
--- a/package/base-files/files/lib/functions/caldata.sh
+++ b/package/base-files/files/lib/functions/caldata.sh
@@ -60,15 +60,21 @@  caldata_from_file() {
 	local source=$1
 	local offset=$(($2))
 	local count=$(($3))
+	local target=$4
 
-	dd if=$source of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
+	[ -z "$target" ] && target=/lib/firmware/$FIRMWARE
+
+	dd if=$source of=$target iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
 		caldata_die "failed to extract calibration data from $source"
 }
 
 caldata_valid() {
 	local expected="$1"
+	local target=$2
+
+	[ -z "$target" ] && target=/lib/firmware/$FIRMWARE
 
-	magic=$(hexdump -v -n 2 -e '1/1 "%02x"' /lib/firmware/$FIRMWARE)
+	magic=$(hexdump -v -n 2 -e '1/1 "%02x"' $target)
 	[ "$magic" = "$expected" ]
 	return $?
 }
@@ -77,6 +83,7 @@  caldata_patch_chksum() {
 	local mac=$1
 	local mac_offset=$(($2))
 	local chksum_offset=$(($3))
+	local target=$4
 	local xor_mac
 	local xor_fw_mac
 	local xor_fw_chksum
@@ -91,38 +98,44 @@  caldata_patch_chksum() {
 	xor_fw_chksum=$(xor $xor_fw_chksum $xor_fw_mac $xor_mac)
 
 	printf "%b" "\x${xor_fw_chksum:0:2}\x${xor_fw_chksum:2:2}" | \
-		dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1 seek=$chksum_offset count=2
+		dd of=$target conv=notrunc bs=1 seek=$chksum_offset count=2
 }
 
 caldata_patch_mac() {
 	local mac=$1
 	local mac_offset=$(($2))
 	local chksum_offset=$3
+	local target=$4
 
 	[ -z "$mac" -o -z "$mac_offset" ] && return
 
-	[ -n "$chksum_offset" ] && caldata_patch_chksum "$mac" "$mac_offset" "$chksum_offset"
+	[ -z "$target" ] && target=/lib/firmware/$FIRMWARE
+
+	[ -n "$chksum_offset" ] && caldata_patch_chksum "$mac" "$mac_offset" "$chksum_offset" "$target"
 
-	macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE conv=notrunc oflag=seek_bytes bs=6 seek=$mac_offset count=1 || \
+	macaddr_2bin $mac | dd of=$target conv=notrunc oflag=seek_bytes bs=6 seek=$mac_offset count=1 || \
 		caldata_die "failed to write MAC address to eeprom file"
 }
 
 ath9k_patch_mac() {
 	local mac=$1
+	local target=$2
 
-	caldata_patch_mac "$mac" 0x2
+	caldata_patch_mac "$mac" 0x2 "" "$target"
 }
 
 ath9k_patch_mac_crc() {
 	local mac=$1
 	local mac_offset=$2
 	local chksum_offset=$((mac_offset - 10))
+	local target=$4
 
-	caldata_patch_mac "$mac" "$mac_offset" "$chksum_offset"
+	caldata_patch_mac "$mac" "$mac_offset" "$chksum_offset" "$target"
 }
 
 ath10k_patch_mac() {
 	local mac=$1
+	local target=$2
 
-	caldata_patch_mac "$mac" 0x6 0x2
+	caldata_patch_mac "$mac" 0x6 0x2 "$target"
 }