Merge "add configuration for ril extension service"
diff --git a/battery_mitigation/sepolicy/genfs_contexts b/battery_mitigation/sepolicy/genfs_contexts
index 66d63dd..84c6e21 100644
--- a/battery_mitigation/sepolicy/genfs_contexts
+++ b/battery_mitigation/sepolicy/genfs_contexts
@@ -1 +1,3 @@
 genfscon sysfs /devices/virtual/pmic/mitigation                                u:object_r:sysfs_bcl:s0
+genfscon sysfs /bus/iio/devices/iio:device0/lpf_power                          u:object_r:sysfs_bcl:s0
+genfscon sysfs /bus/iio/devices/iio:device1/lpf_power                          u:object_r:sysfs_bcl:s0
diff --git a/edgetpu/edgetpu.mk b/edgetpu/edgetpu.mk
index 3f79438..7b93487 100644
--- a/edgetpu/edgetpu.mk
+++ b/edgetpu/edgetpu.mk
@@ -19,5 +19,9 @@
 # TPU TFlite Delegate
 PRODUCT_PACKAGES += \
         libedgetpu_util
+# TPU DBA AIDL HAL service
+PRODUCT_PACKAGES += com.google.edgetpu.dba-service
+# TPU DBA C API library
+PRODUCT_PACKAGES += libedgetpu_dba.google
 
 BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/edgetpu/sepolicy
diff --git a/edgetpu/sepolicy/edgetpu_dba_service.te b/edgetpu/sepolicy/edgetpu_dba_service.te
new file mode 100644
index 0000000..2e8f908
--- /dev/null
+++ b/edgetpu/sepolicy/edgetpu_dba_service.te
@@ -0,0 +1,38 @@
+# EdgeTPU DBA service.
+type edgetpu_dba_server, domain;
+type edgetpu_dba_server_exec, exec_type, vendor_file_type, file_type;
+init_daemon_domain(edgetpu_dba_server)
+
+# The vendor service will use binder calls.
+binder_use(edgetpu_dba_server);
+
+# The vendor service will serve a binder service.
+binder_service(edgetpu_dba_server);
+
+# EdgeTPU DBA service to register the service to service_manager.
+add_service(edgetpu_dba_server, edgetpu_dba_service);
+
+# Allow EdgeTPU DBA service to look for TPU instance in /dev/edgetpu or /dev/edgetpu-soc.
+allow edgetpu_dba_server edgetpu_device:chr_file rw_file_perms;
+
+# Allow EdgeTPU DBA service to request power hints from the Power Service.
+hal_client_domain(edgetpu_dba_server, hal_power)
+
+# Allow EdgeTPU DBA service to access hardware buffers and ION memory.
+allow edgetpu_dba_server hal_allocator:fd use;
+allow edgetpu_dba_server hal_graphics_mapper_hwservice:hwservice_manager find;
+allow edgetpu_dba_server hal_graphics_allocator:fd use;
+allow edgetpu_dba_server gpu_device:chr_file rw_file_perms;
+allow edgetpu_dba_server gpu_device:dir r_dir_perms;
+allow edgetpu_dba_server ion_device:chr_file r_file_perms;
+
+# Allow EdgeTPU DBA service to read the overcommit_memory info.
+allow edgetpu_dba_server proc_overcommit_memory:file r_file_perms;
+
+# Allow EdgeTPU DBA service to read the kernel version.
+# This is done inside the InitGoogle.
+allow edgetpu_dba_server proc_version:file r_file_perms;
+
+# Allow EdgeTPU DBA service to send trace packets to Perfetto with SELinux enabled
+# under userdebug builds.
+userdebug_or_eng(`perfetto_producer(edgetpu_dba_server)')
diff --git a/edgetpu/sepolicy/file_contexts b/edgetpu/sepolicy/file_contexts
index e8fb9ac..8f6481c 100644
--- a/edgetpu/sepolicy/file_contexts
+++ b/edgetpu/sepolicy/file_contexts
@@ -22,3 +22,5 @@
 /data/vendor/hal_neuralnetworks_darwinn(/.*)?                              u:object_r:hal_neuralnetworks_darwinn_data_file:s0
 /data/vendor/edgetpu(/.*)?                                                 u:object_r:edgetpu_vendor_service_data_file:s0
 
+# EdgeTPU DBA service
+/vendor/bin/hw/com\.google\.edgetpu.dba-service                            u:object_r:edgetpu_dba_server_exec:s0
diff --git a/edgetpu/sepolicy/priv_app.te b/edgetpu/sepolicy/priv_app.te
index 22021a8..a9b49c3 100644
--- a/edgetpu/sepolicy/priv_app.te
+++ b/edgetpu/sepolicy/priv_app.te
@@ -7,4 +7,3 @@
 # Allows privileged applications to access the EdgeTPU device, except open,
 # which is guarded by the EdgeTPU service.
 allow priv_app edgetpu_device:chr_file { getattr read write ioctl map };
-
diff --git a/edgetpu/sepolicy/service.te b/edgetpu/sepolicy/service.te
index 3cb81dd..be06e04 100644
--- a/edgetpu/sepolicy/service.te
+++ b/edgetpu/sepolicy/service.te
@@ -1,5 +1,6 @@
 type edgetpu_nnapi_service, app_api_service, service_manager_type;
 type edgetpu_vendor_service, service_manager_type, hal_service_type;
+type edgetpu_dba_service, app_api_service, service_manager_type;
 
 # EdgeTPU binder service type declaration.
 type edgetpu_app_service, service_manager_type;
diff --git a/edgetpu/sepolicy/service_contexts b/edgetpu/sepolicy/service_contexts
index 9972eae..83967f7 100644
--- a/edgetpu/sepolicy/service_contexts
+++ b/edgetpu/sepolicy/service_contexts
@@ -5,3 +5,6 @@
 
 # EdgeTPU service
 com.google.edgetpu.IEdgeTpuAppService/default              u:object_r:edgetpu_app_service:s0
+
+# EdgeTPU DBA Service
+com.google.edgetpu.dba.IDevice/default                     u:object_r:edgetpu_dba_service:s0
diff --git a/touch/stm/sepolicy/vendor_init.te b/touch/stm/sepolicy/vendor_init.te
new file mode 100644
index 0000000..74a6666
--- /dev/null
+++ b/touch/stm/sepolicy/vendor_init.te
@@ -0,0 +1 @@
+set_prop(vendor_init, vendor_touch_dump_path_prop)
diff --git a/wireless_charger/sepolicy/file.te b/wireless_charger/sepolicy/file.te
deleted file mode 100644
index 71c118c..0000000
--- a/wireless_charger/sepolicy/file.te
+++ /dev/null
@@ -1 +0,0 @@
-type sysfs_wlc, sysfs_type, fs_type;
diff --git a/wireless_charger/sepolicy/hal_dumpstate_default.te b/wireless_charger/sepolicy/hal_dumpstate_default.te
new file mode 100644
index 0000000..748345c
--- /dev/null
+++ b/wireless_charger/sepolicy/hal_dumpstate_default.te
@@ -0,0 +1,3 @@
+allow hal_dumpstate_default sysfs_wlc:dir search;
+allow hal_dumpstate_default sysfs_wlc:dir r_dir_perms;
+allow hal_dumpstate_default sysfs_wlc:file r_file_perms;
diff --git a/wireless_charger/sepolicy/hal_googlebattery.te b/wireless_charger/sepolicy/hal_googlebattery.te
new file mode 100644
index 0000000..6fda60f
--- /dev/null
+++ b/wireless_charger/sepolicy/hal_googlebattery.te
@@ -0,0 +1,2 @@
+r_dir_file(hal_googlebattery, sysfs_wlc)
+allow hal_googlebattery sysfs_wlc:file rw_file_perms;
diff --git a/wireless_charger/sepolicy/hal_health_default.te b/wireless_charger/sepolicy/hal_health_default.te
new file mode 100644
index 0000000..51ef352
--- /dev/null
+++ b/wireless_charger/sepolicy/hal_health_default.te
@@ -0,0 +1 @@
+allow hal_health_default sysfs_wlc:dir search;
diff --git a/wireless_charger/sepolicy/hal_sensors_default.te b/wireless_charger/sepolicy/hal_sensors_default.te
new file mode 100644
index 0000000..ed0efd0
--- /dev/null
+++ b/wireless_charger/sepolicy/hal_sensors_default.te
@@ -0,0 +1 @@
+allow hal_sensors_default sysfs_wlc:dir r_dir_perms;
diff --git a/wireless_charger/sepolicy/hal_wireless_charger.te b/wireless_charger/sepolicy/hal_wireless_charger.te
index f4cdee5..7ab8d83 100644
--- a/wireless_charger/sepolicy/hal_wireless_charger.te
+++ b/wireless_charger/sepolicy/hal_wireless_charger.te
@@ -1,6 +1,3 @@
-type hal_wireless_charger, domain;
-type hal_wireless_charger_exec, exec_type, vendor_file_type, file_type;
-
 init_daemon_domain(hal_wireless_charger)
 
 r_dir_file(hal_wireless_charger, sysfs_batteryinfo)
diff --git a/wireless_charger/sepolicy/pixelstats_vendor.te b/wireless_charger/sepolicy/pixelstats_vendor.te
new file mode 100644
index 0000000..cc2bd92
--- /dev/null
+++ b/wireless_charger/sepolicy/pixelstats_vendor.te
@@ -0,0 +1,3 @@
+# Wireless charge
+allow pixelstats_vendor sysfs_wlc:dir search;
+allow pixelstats_vendor sysfs_wlc:file rw_file_perms;
diff --git a/wireless_charger/sepolicy/service.te b/wireless_charger/sepolicy/service.te
deleted file mode 100644
index 2795b0d..0000000
--- a/wireless_charger/sepolicy/service.te
+++ /dev/null
@@ -1 +0,0 @@
-type hal_wireless_charger_service, hal_service_type, protected_service, service_manager_type;
diff --git a/wireless_charger/sepolicy/shell.te b/wireless_charger/sepolicy/shell.te
new file mode 100644
index 0000000..cd4fb18
--- /dev/null
+++ b/wireless_charger/sepolicy/shell.te
@@ -0,0 +1,2 @@
+# wlc
+dontaudit shell sysfs_wlc:dir search;
diff --git a/wireless_charger/wireless_charger.mk b/wireless_charger/wireless_charger.mk
index 8ff9a7b..acf5fc1 100644
--- a/wireless_charger/wireless_charger.mk
+++ b/wireless_charger/wireless_charger.mk
@@ -1,4 +1,3 @@
-
 PRODUCT_SOONG_NAMESPACES += vendor/google/interfaces
 PRODUCT_PACKAGES += vendor.google.wireless_charger-default
 DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/gs-common/wireless_charger/compatibility_matrix.xml