# Debug file types
type debugfs_rpm, fs_type, debugfs_type;
type debugfs_ipc, fs_type, debugfs_type;
type debugfs_bufinfo, fs_type, debugfs_type;

type sysfs_power_management, fs_type, sysfs_type;
type sysfs_surfaceflinger, fs_type, sysfs_type;

# file type for irqbalance socket
type msm_irqbalance_socket, file_type;

# Default type for anything under /firmware
type firmware_file, fs_type, contextmount_type;
type fsg_file, fs_type, contextmount_type;

type cnd_socket, file_type;
type adspd_socket, file_type;
type mpdecision_socket, file_type;
type qmuxd_socket, file_type;

# location file types
type location_data_file, file_type, data_file_type;
type location_app_data_file, file_type, data_file_type;

# Socket node needed by ims_data daemon
type ims_socket, file_type;

type ramdump_data_file, file_type, data_file_type;
type diag_logs, file_type, data_file_type, mlstrustedobject;

type perfd_data_file, file_type, data_file_type;

type cnd_data_file, file_type, data_file_type;

type nfc_vendor_data_file, file_type, data_file_type;

type sysfs_smdcntl_open_timeout, fs_type, sysfs_type;

type sysfs_devices_fingerprint,  sysfs_type, file_type;

type sysfs_camera, sysfs_type, file_type;

# type for persist partition
type persist_file, file_type;
type persist_data_file, file_type;
type persist_drm_file, file_type;
type persist_wifi_file, file_type;
type persist_sensortool_file, file_type;
type persist_camera_file, file_type;

# File types required by mdm-helper
type sysfs_ssr,  sysfs_type, fs_type;
type sysfs_ssr_toggle,  sysfs_type, file_type;
type sysfs_hsic, sysfs_type, fs_type;
type sysfs_hsic_host_rdy, sysfs_type, file_type;

# File types required by dumpstate implementation
type sysfs_hwmon, fs_type, sysfs_type;

# type for thermal-engine
type thermal_socket, file_type;

# type for perfd
type sysfs_performance, sysfs_type, fs_type;

# SurfaceFlinger file type for sysfs access
type sysfs_graphics, sysfs_type, fs_type;
type sysfs_display, sysfs_type, fs_type;

# Files accessed by qcom-system-daemon
type sysfs_socinfo, fs_type, sysfs_type;

# type for uart
type sysfs_msmuart_file, sysfs_type, fs_type;

# type for proc files
type proc_irq, fs_type;
type proc_kernel_sched, fs_type;
type proc_wifi_dbg, fs_type;

# type for nanoapp_cmd
type sysfs_nanoapp_cmd, sysfs_type, fs_type;

# type for devstart
type sysfs_audio, sysfs_type, fs_type;
