# read factory calibration and sensor configuration data
allow hal_sensors_default persist_file:dir search;
r_dir_file(hal_sensors_default, persist_sensors_file)

# interact with the sensors low power island (SLPI) CPU
allow hal_sensors_default self:socket { create ioctl read write };
allowxperm hal_sensors_default self:socket ioctl msm_sock_ipc_ioctls;
r_dir_file(hal_sensors_default, sysfs_msm_subsys);

allow hal_sensors_default qdsp_device:chr_file r_file_perms;

userdebug_or_eng(`
  r_dir_file(hal_sensors_default, sysfs_diag)
  allow hal_sensors_default sysfs_timestamp_switch:file r_file_perms;
  allow hal_sensors_default diag_device:chr_file rw_file_perms;
')
dontaudit hal_sensors_default diag_device:chr_file rw_file_perms;

# Allow communication with CHRE daemon via socket
allow hal_sensors_default chre:unix_stream_socket connectto;
allow hal_sensors_default chre_socket:sock_file write;