aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files/files/lib/functions/caldata.sh
diff options
context:
space:
mode:
Diffstat (limited to 'package/base-files/files/lib/functions/caldata.sh')
-rw-r--r--package/base-files/files/lib/functions/caldata.sh15
1 files changed, 15 insertions, 0 deletions
diff --git a/package/base-files/files/lib/functions/caldata.sh b/package/base-files/files/lib/functions/caldata.sh
index 5e969e3409..6862da7164 100644
--- a/package/base-files/files/lib/functions/caldata.sh
+++ b/package/base-files/files/lib/functions/caldata.sh
@@ -68,6 +68,21 @@ caldata_from_file() {
caldata_die "failed to extract calibration data from $source"
}
+caldata_sysfsload_from_file() {
+ local source=$1
+ local offset=$(($2))
+ local count=$(($3))
+
+ # test extract to /dev/null first
+ dd if=$source of=/dev/null iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
+ caldata_die "failed to extract calibration data from $source"
+
+ # can't fail now
+ echo 1 > /sys/$DEVPATH/loading
+ dd if=$source of=/sys/$DEVPATH/data iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null
+ echo 0 > /sys/$DEVPATH/loading
+}
+
caldata_valid() {
local expected="$1"
local target=$2