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 | include $(INCLUDE_DIR)/feeds.mk | ||||||
|  |  | ||||||
| PKG_NAME:=base-files | PKG_NAME:=base-files | ||||||
| PKG_RELEASE:=219 | PKG_RELEASE:=220 | ||||||
| PKG_FLAGS:=nonshared | PKG_FLAGS:=nonshared | ||||||
|  |  | ||||||
| PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ | 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_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() { | caldata_valid() { | ||||||
| 	local expected="$1" | 	local expected="$1" | ||||||
| 	local target=$2 | 	local target=$2 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user