Merge changes I9deb367b,I8c88622e,I18747dc6,I4e94db4a

* changes:
  Generate compat files and modules with scripts
  Fix wrongly hardcoded version
  Remove deprecated distutils dependency
  Remove redundant comments
diff --git a/build/soong/service_fuzzer_bindings.go b/build/soong/service_fuzzer_bindings.go
index 5555469..9e81f1d 100644
--- a/build/soong/service_fuzzer_bindings.go
+++ b/build/soong/service_fuzzer_bindings.go
@@ -43,7 +43,7 @@
 		"android.hardware.graphics.allocator.IAllocator/default":                  []string{},
 		"android.hardware.graphics.composer3.IComposer/default":                   []string{},
 		"android.hardware.health.storage.IStorage/default":                        []string{},
-		"android.hardware.health.IHealth/default":                                 []string{},
+		"android.hardware.health.IHealth/default":                                 []string{"android.hardware.health-service.aidl_fuzzer"},
 		"android.hardware.identity.IIdentityCredentialStore/default":              []string{},
 		"android.hardware.input.processor.IInputProcessor/default":                []string{},
 		"android.hardware.ir.IConsumerIr/default":                                 []string{},
@@ -58,6 +58,10 @@
 		"android.hardware.radio.data.IRadioData/slot1":                            []string{},
 		"android.hardware.radio.data.IRadioData/slot2":                            []string{},
 		"android.hardware.radio.data.IRadioData/slot3":                            []string{},
+		"android.hardware.radio.ims.IRadioIms/slot1":                              []string{},
+		"android.hardware.radio.ims.IRadioIms/slot2":                              []string{},
+		"android.hardware.radio.ims.IRadioIms/slot3":                              []string{},
+		"android.hardware.radio.ims.media.IImsMedia/default":                      []string{},
 		"android.hardware.radio.messaging.IRadioMessaging/slot1":                  []string{},
 		"android.hardware.radio.messaging.IRadioMessaging/slot2":                  []string{},
 		"android.hardware.radio.messaging.IRadioMessaging/slot3":                  []string{},
@@ -82,12 +86,14 @@
 		"android.hardware.sensors.ISensors/default":                               []string{},
 		"android.hardware.soundtrigger3.ISoundTriggerHw/default":                  []string{},
 		"android.hardware.thermal.IThermal/default":                               []string{},
+		"android.hardware.tv.cec.IHdmiCec/default":                                []string{},
+		"android.hardware.tv.hdmi.IHdmi/default":                                  []string{},
 		"android.hardware.tv.input.ITvInput/default":                              []string{},
 		"android.hardware.tv.tuner.ITuner/default":                                []string{},
 		"android.hardware.usb.IUsb/default":                                       []string{},
 		"android.hardware.uwb.IUwb/default":                                       []string{},
 		"android.hardware.vibrator.IVibrator/default":                             []string{},
-		"android.hardware.vibrator.IVibratorManager/default":                      []string{},
+		"android.hardware.vibrator.IVibratorManager/default":                      []string{"android.hardware.vibrator-service.example_fuzzer"},
 		"android.hardware.weaver.IWeaver/default":                                 []string{},
 		"android.hardware.wifi.hostapd.IHostapd/default":                          []string{},
 		"android.hardware.wifi.supplicant.ISupplicant/default":                    []string{},
@@ -337,7 +343,7 @@
 		"sensor_privacy":               []string{},
 		"serial":                       []string{},
 		"servicediscovery":             []string{},
-		"manager":                      []string{},
+		"manager":                      []string{"servicemanager_fuzzer"},
 		"settings":                     []string{},
 		"shortcut":                     []string{},
 		"simphonebook_msim":            []string{},
diff --git a/private/compat/33.0/33.0.ignore.cil b/private/compat/33.0/33.0.ignore.cil
index 39a4bdc..97a1c91 100644
--- a/private/compat/33.0/33.0.ignore.cil
+++ b/private/compat/33.0/33.0.ignore.cil
@@ -15,6 +15,8 @@
     hal_remoteaccess_service
     hal_thermal_service
     hal_tv_input_service
+    hal_tv_hdmi_service
+    hal_tv_hdmi_cec_service
     healthconnect_service
     keystore_config_prop
     permissive_mte_prop
diff --git a/private/service_contexts b/private/service_contexts
index 7d980f2..beeabbd 100644
--- a/private/service_contexts
+++ b/private/service_contexts
@@ -42,6 +42,10 @@
 android.hardware.radio.data.IRadioData/slot1                         u:object_r:hal_radio_service:s0
 android.hardware.radio.data.IRadioData/slot2                         u:object_r:hal_radio_service:s0
 android.hardware.radio.data.IRadioData/slot3                         u:object_r:hal_radio_service:s0
+android.hardware.radio.ims.IRadioIms/slot1                           u:object_r:hal_radio_service:s0
+android.hardware.radio.ims.IRadioIms/slot2                           u:object_r:hal_radio_service:s0
+android.hardware.radio.ims.IRadioIms/slot3                           u:object_r:hal_radio_service:s0
+android.hardware.radio.ims.media.IImsMedia/default                   u:object_r:hal_radio_service:s0
 android.hardware.radio.messaging.IRadioMessaging/slot1               u:object_r:hal_radio_service:s0
 android.hardware.radio.messaging.IRadioMessaging/slot2               u:object_r:hal_radio_service:s0
 android.hardware.radio.messaging.IRadioMessaging/slot3               u:object_r:hal_radio_service:s0
@@ -67,6 +71,8 @@
 android.hardware.sensors.ISensors/default                            u:object_r:hal_sensors_service:s0
 android.hardware.soundtrigger3.ISoundTriggerHw/default               u:object_r:hal_audio_service:s0
 android.hardware.thermal.IThermal/default                            u:object_r:hal_thermal_service:s0
+android.hardware.tv.cec.IHdmiCec/default                             u:object_r:hal_tv_hdmi_cec_service:s0
+android.hardware.tv.hdmi.IHdmi/default                               u:object_r:hal_tv_hdmi_service:s0
 android.hardware.tv.tuner.ITuner/default                             u:object_r:hal_tv_tuner_service:s0
 android.hardware.tv.input.ITvInput/default                           u:object_r:hal_tv_input_service:s0
 android.hardware.usb.IUsb/default                                    u:object_r:hal_usb_service:s0
diff --git a/private/system_server.te b/private/system_server.te
index 375158f..aedebaf 100644
--- a/private/system_server.te
+++ b/private/system_server.te
@@ -330,6 +330,8 @@
 hal_client_domain(system_server, hal_tetheroffload)
 hal_client_domain(system_server, hal_thermal)
 hal_client_domain(system_server, hal_tv_cec)
+hal_client_domain(system_server, hal_tv_hdmi)
+hal_client_domain(system_server, hal_tv_hdmi_cec)
 hal_client_domain(system_server, hal_tv_input)
 hal_client_domain(system_server, hal_usb)
 hal_client_domain(system_server, hal_usb_gadget)
diff --git a/public/attributes b/public/attributes
index f431725..121adc0 100644
--- a/public/attributes
+++ b/public/attributes
@@ -369,6 +369,8 @@
 hal_attribute(tetheroffload);
 hal_attribute(thermal);
 hal_attribute(tv_cec);
+hal_attribute(tv_hdmi);
+hal_attribute(tv_hdmi_cec);
 hal_attribute(tv_input);
 hal_attribute(tv_tuner);
 hal_attribute(usb);
diff --git a/public/hal_tv_hdmi.te b/public/hal_tv_hdmi.te
new file mode 100644
index 0000000..8e91aa2
--- /dev/null
+++ b/public/hal_tv_hdmi.te
@@ -0,0 +1,7 @@
+# Binder IPC from clients into server, and callbacks
+binder_call(hal_tv_hdmi_client, hal_tv_hdmi_server)
+binder_call(hal_tv_hdmi_server, hal_tv_hdmi_client)
+binder_call(hal_tv_hdmi_client, servicemanager)
+binder_call(hal_tv_hdmi_server, servicemanager)
+
+hal_attribute_service(hal_tv_hdmi, hal_tv_hdmi_service)
diff --git a/public/hal_tv_hdmi_cec.te b/public/hal_tv_hdmi_cec.te
new file mode 100644
index 0000000..1b75676
--- /dev/null
+++ b/public/hal_tv_hdmi_cec.te
@@ -0,0 +1,7 @@
+# Binder IPC from clients into server, and callbacks
+binder_call(hal_tv_hdmi_cec_client, hal_tv_hdmi_cec_server)
+binder_call(hal_tv_hdmi_cec_server, hal_tv_hdmi_cec_client)
+binder_call(hal_tv_hdmi_cec_client, servicemanager)
+binder_call(hal_tv_hdmi_cec_server, servicemanager)
+
+hal_attribute_service(hal_tv_hdmi_cec, hal_tv_hdmi_cec_service)
diff --git a/public/service.te b/public/service.te
index 70ddf94..7e40b27 100644
--- a/public/service.te
+++ b/public/service.te
@@ -306,6 +306,8 @@
 type hal_sharedsecret_service, protected_service, hal_service_type, service_manager_type;
 type hal_system_suspend_service, protected_service, hal_service_type, service_manager_type;
 type hal_thermal_service, protected_service, hal_service_type, service_manager_type;
+type hal_tv_hdmi_service, protected_service, hal_service_type, service_manager_type;
+type hal_tv_hdmi_cec_service, protected_service, hal_service_type, service_manager_type;
 type hal_tv_input_service, protected_service, hal_service_type, service_manager_type;
 type hal_tv_tuner_service, protected_service, hal_service_type, service_manager_type;
 type hal_usb_service, protected_service, hal_service_type, service_manager_type;
diff --git a/public/servicemanager.te b/public/servicemanager.te
index a812338..58153f7 100644
--- a/public/servicemanager.te
+++ b/public/servicemanager.te
@@ -31,10 +31,9 @@
 # Check SELinux permissions.
 selinux_check_access(servicemanager)
 
-recovery_only(`
-  # In recovery, log to kmsg.
-  allow servicemanager kmsg_device:chr_file rw_file_perms;
+allow servicemanager kmsg_device:chr_file rw_file_perms;
 
+recovery_only(`
   # Read VINTF files.
   r_dir_file(servicemanager, rootfs)
 ')
diff --git a/public/su.te b/public/su.te
index 8328140..730c1e0 100644
--- a/public/su.te
+++ b/public/su.te
@@ -97,6 +97,8 @@
   typeattribute su hal_tetheroffload_client;
   typeattribute su hal_thermal_client;
   typeattribute su hal_tv_cec_client;
+  typeattribute su hal_tv_hdmi_client;
+  typeattribute su hal_tv_hdmi_cec_client;
   typeattribute su hal_tv_input_client;
   typeattribute su hal_tv_tuner_client;
   typeattribute su hal_usb_client;
diff --git a/vendor/file_contexts b/vendor/file_contexts
index c214f4e..d6dc9bc 100644
--- a/vendor/file_contexts
+++ b/vendor/file_contexts
@@ -94,6 +94,8 @@
 /(vendor|system/vendor)/bin/hw/android\.hardware\.thermal@1\.[01]-service        u:object_r:hal_thermal_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.thermal-service\.example       u:object_r:hal_thermal_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.tv\.cec@1\.[01]-service        u:object_r:hal_tv_cec_default_exec:s0
+/(vendor|system/vendor)/bin/hw/android\.hardware\.tv\.cec-service             u:object_r:hal_tv_hdmi_cec_default_exec:s0
+/(vendor|system/vendor)/bin/hw/android\.hardware\.tv\.hdmi-service            u:object_r:hal_tv_hdmi_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.tv\.input@1\.0-service      u:object_r:hal_tv_input_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.tv\.input-service\.example  u:object_r:hal_tv_input_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.tv\.tuner@1\.[01]-service   u:object_r:hal_tv_tuner_default_exec:s0
diff --git a/vendor/hal_tv_hdmi_cec_default.te b/vendor/hal_tv_hdmi_cec_default.te
new file mode 100644
index 0000000..2f06c34
--- /dev/null
+++ b/vendor/hal_tv_hdmi_cec_default.te
@@ -0,0 +1,5 @@
+type hal_tv_hdmi_cec_default, domain;
+hal_server_domain(hal_tv_hdmi_cec_default, hal_tv_hdmi_cec)
+
+type hal_tv_hdmi_cec_default_exec, exec_type, vendor_file_type, file_type;
+init_daemon_domain(hal_tv_hdmi_cec_default)
diff --git a/vendor/hal_tv_hdmi_default.te b/vendor/hal_tv_hdmi_default.te
new file mode 100644
index 0000000..e974fd8
--- /dev/null
+++ b/vendor/hal_tv_hdmi_default.te
@@ -0,0 +1,5 @@
+type hal_tv_hdmi_default, domain;
+hal_server_domain(hal_tv_hdmi_default, hal_tv_hdmi)
+
+type hal_tv_hdmi_default_exec, exec_type, vendor_file_type, file_type;
+init_daemon_domain(hal_tv_hdmi_default)
diff --git a/vendor/vndservicemanager.te b/vendor/vndservicemanager.te
index 497e027..2ad0502 100644
--- a/vendor/vndservicemanager.te
+++ b/vendor/vndservicemanager.te
@@ -20,3 +20,6 @@
 
 # Check SELinux permissions.
 selinux_check_access(vndservicemanager)
+
+# Log to kmesg
+allow vndservicemanager kmsg_device:chr_file rw_file_perms;