package/base-files: add caldata_sysfsload_from_file()
This routine enables loading caldata binary via the kernel sysfs loader See https://www.kernel.org/doc/html/v4.19/driver-api/firmware/fallback-mechanisms.html Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
This commit is contained in:
		 Thibaut VARÈNE
					Thibaut VARÈNE
				
			
				
					committed by
					
						 Koen Vandeputte
						Koen Vandeputte
					
				
			
			
				
	
			
			
			 Koen Vandeputte
						Koen Vandeputte
					
				
			
						parent
						
							8f4735297b
						
					
				
				
					commit
					02a9d3d6a9
				
			| @@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk | ||||
| include $(INCLUDE_DIR)/feeds.mk | ||||
|  | ||||
| PKG_NAME:=base-files | ||||
| PKG_RELEASE:=219 | ||||
| PKG_RELEASE:=220 | ||||
| PKG_FLAGS:=nonshared | ||||
|  | ||||
| PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user