type vendor_init_exec, exec_type, vendor_file_type, file_type;

allow vendor_init ipa_dev:chr_file w_file_perms;
allow vendor_init proc_swappiness:file w_file_perms;
allow vendor_init proc_dirty:file w_file_perms;
allow vendor_init proc_sched_energy_aware:file w_file_perms;
allow vendor_init debugfs_clk:file write;
allow vendor_init debugfs_airbrush:file write;

set_prop(vendor_init, vendor_audio_prop)
set_prop(vendor_init, vendor_radio_prop)
set_prop(vendor_init, vendor_thermal_prop)
set_prop(vendor_init, cnd_vendor_prop)
set_prop(vendor_init, public_vendor_default_prop)
set_prop(vendor_init, vendor_ssr_prop)
set_prop(vendor_init, vendor_modem_diag_prop)
get_prop(vendor_init, vendor_usb_prop)
set_prop(vendor_init, vendor_bluetooth_prop)
set_prop(vendor_init, vendor_power_prop)
set_prop(vendor_init, vendor_display_prop)
set_prop(vendor_init, camera_prop)
set_prop(vendor_init, vendor_build_type_prop)
set_prop(vendor_init, vendor_disable_spu_prop)

#IMS related
set_prop(vendor_init, qcom_ims_prop)

userdebug_or_eng(`
  set_prop(vendor_init, logpersistd_logging_prop)
  # Allow vendor_init to write vendor_tcpdump_log_prop on userdebug or eng ROM
  set_prop(vendor_init, vendor_tcpdump_log_prop)
')

set_prop(vendor_init, vendor_logging_prop)
