Support gti proc dump.
Bug: 262796907
Test: TreeHugger build pass.
Signed-off-by: Super Liu <supercjliu@google.com>
Change-Id: I3dd73b9832c737f7c60639af649ae882e206aa15
diff --git a/touch/gti/Android.bp b/touch/gti/Android.bp
index b997aec..d21314a 100644
--- a/touch/gti/Android.bp
+++ b/touch/gti/Android.bp
@@ -5,6 +5,7 @@
sh_binary {
name: "dump_gti.sh",
src: "dump_gti.sh",
+ init_rc: ["init.touch.gti.rc"],
vendor: true,
sub_dir: "dump",
}
diff --git a/touch/gti/dump_gti.sh b/touch/gti/dump_gti.sh
index 573962d..a7d3a61 100644
--- a/touch/gti/dump_gti.sh
+++ b/touch/gti/dump_gti.sh
@@ -1,5 +1,12 @@
#!/vendor/bin/sh
path="/sys/devices/virtual/goog_touch_interface/gti.0"
+procfs_path="/proc/goog_touch_interface/gti.0"
+
+if [[ -d "$procfs_path" ]]; then
+heatmap_path=$procfs_path
+else
+heatmap_path=$path
+fi
echo "------ Force Touch Active ------"
echo 1 > $path/force_active
@@ -8,22 +15,22 @@
cat $path/fw_ver
echo "------ Get Mutual Sensing Data - Baseline ------"
-cat $path/ms_base
+cat $heatmap_path/ms_base
echo "------ Get Mutual Sensing Data - Delta ------"
-cat $path/ms_diff
+cat $heatmap_path/ms_diff
echo "------ Get Mutual Sensing Data - Raw ------"
-cat $path/ms_raw
+cat $heatmap_path/ms_raw
echo "------ Get Self Sensing Data - Baseline ------"
-cat $path/ss_base
+cat $heatmap_path/ss_base
echo "------ Get Self Sensing Data - Delta ------"
-cat $path/ss_diff
+cat $heatmap_path/ss_diff
echo "------ Get Self Sensing Data - Raw ------"
-cat $path/ss_raw
+cat $heatmap_path/ss_raw
echo "------ Self Test ------"
cat $path/self_test
diff --git a/touch/gti/init.touch.gti.rc b/touch/gti/init.touch.gti.rc
new file mode 100644
index 0000000..d714a97
--- /dev/null
+++ b/touch/gti/init.touch.gti.rc
@@ -0,0 +1,9 @@
+on property:vendor.device.modules.ready=1
+ chown system system /proc/goog_touch_interface
+ chown system system /proc/goog_touch_interface/gti.0
+ chown system system /proc/goog_touch_interface/gti.0/ms_base
+ chown system system /proc/goog_touch_interface/gti.0/ms_diff
+ chown system system /proc/goog_touch_interface/gti.0/ms_raw
+ chown system system /proc/goog_touch_interface/gti.0/ss_base
+ chown system system /proc/goog_touch_interface/gti.0/ss_diff
+ chown system system /proc/goog_touch_interface/gti.0/ss_raw
diff --git a/touch/gti/sepolicy/dump_gti.te b/touch/gti/sepolicy/dump_gti.te
index 7482246..060fc29 100644
--- a/touch/gti/sepolicy/dump_gti.te
+++ b/touch/gti/sepolicy/dump_gti.te
@@ -1,5 +1,7 @@
pixel_bugreport(dump_gti)
+allow dump_gti proc_touch_gti:dir r_dir_perms;
+allow dump_gti proc_touch_gti:file rw_file_perms;
allow dump_gti sysfs_touch_gti:dir r_dir_perms;
allow dump_gti sysfs_touch_gti:file rw_file_perms;
allow dump_gti vendor_toolbox_exec:file execute_no_trans;
diff --git a/touch/gti/sepolicy/file.te b/touch/gti/sepolicy/file.te
index 9776707..c3900f0 100644
--- a/touch/gti/sepolicy/file.te
+++ b/touch/gti/sepolicy/file.te
@@ -1,2 +1,3 @@
+type proc_touch_gti, proc_type, fs_type;
type sysfs_touch_gti, sysfs_type, fs_type;
diff --git a/touch/gti/sepolicy/genfs_contexts b/touch/gti/sepolicy/genfs_contexts
index a64e39b..45d3b53 100644
--- a/touch/gti/sepolicy/genfs_contexts
+++ b/touch/gti/sepolicy/genfs_contexts
@@ -1,2 +1,4 @@
# Touch
genfscon sysfs /devices/virtual/goog_touch_interface u:object_r:sysfs_touch_gti:s0
+genfscon proc /goog_touch_interface u:object_r:proc_touch_gti:s0
+