# Copyright (c) 2015, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above
#       copyright notice, this list of conditions and the following
#       disclaimer in the documentation and/or other materials provided
#       with the distribution.
#     * Neither the name of The Linux Foundation nor the names of its
#       contributors may be used to endorse or promote products derived
#       from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
# ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

###################################
# Dev block nodes

# common
/dev/block/mmcblk0rpmb                                                          u:object_r:rpmb_device:s0
/dev/block/mmcblk0                                                              u:object_r:root_block_device:s0

# UFS devices
/dev/block/platform/soc/624000.ufshc/by-name/fsc                                u:object_r:modem_efs_partition_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/fsg                                u:object_r:modem_efs_partition_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/modemst1                           u:object_r:modem_efs_partition_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/modemst2                           u:object_r:modem_efs_partition_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/ssd                                u:object_r:ssd_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/misc                               u:object_r:misc_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/rpm                                u:object_r:rpmb_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/system                             u:object_r:system_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/userdata                           u:object_r:userdata_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/msadp                              u:object_r:mba_debug_dev:s0
/dev/block/platform/soc/624000.ufshc/by-name/dip                                u:object_r:dip_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/mdtp                               u:object_r:mdtp_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/boot                               u:object_r:boot_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/recovery                           u:object_r:recovery_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/cache                              u:object_r:cache_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/frp                                u:object_r:frp_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/mdm1m9kefs1                        u:object_r:efs_boot_dev:s0
/dev/block/platform/soc/624000.ufshc/by-name/mdm1m9kefs2                        u:object_r:efs_boot_dev:s0
/dev/block/platform/soc/624000.ufshc/by-name/mdm1m9kefs3                        u:object_r:efs_boot_dev:s0
/dev/block/platform/soc/624000.ufshc/by-name/mdm1m9kefsc                        u:object_r:efs_boot_dev:s0
/dev/block/platform/soc/624000.ufshc/by-name/logdump                            u:object_r:logdump_partition:s0
/dev/block/platform/soc/624000.ufshc/by-name/persist                            u:object_r:persist_block_device:s0

# eMMC devices
/dev/block/platform/soc/7464900.sdhci/by-name/fsc                               u:object_r:modem_efs_partition_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/fsg                               u:object_r:modem_efs_partition_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/modemst1                          u:object_r:modem_efs_partition_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/modemst2                          u:object_r:modem_efs_partition_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/ssd                               u:object_r:ssd_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/misc                              u:object_r:misc_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/rpm                               u:object_r:rpmb_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/system                            u:object_r:system_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/userdata                          u:object_r:userdata_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/msadp                             u:object_r:mba_debug_dev:s0
/dev/block/platform/soc/7464900.sdhci/by-name/dip                               u:object_r:dip_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/mdtp                              u:object_r:mdtp_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/boot                              u:object_r:boot_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/recovery                          u:object_r:recovery_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/cache                             u:object_r:cache_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/frp                               u:object_r:frp_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/mdm1m9kefs1                       u:object_r:efs_boot_dev:s0
/dev/block/platform/soc/7464900.sdhci/by-name/mdm1m9kefs2                       u:object_r:efs_boot_dev:s0
/dev/block/platform/soc/7464900.sdhci/by-name/mdm1m9kefs3                       u:object_r:efs_boot_dev:s0
/dev/block/platform/soc/7464900.sdhci/by-name/mdm1m9kefsc                       u:object_r:efs_boot_dev:s0
/dev/block/platform/soc/7464900.sdhci/by-name/logdump                           u:object_r:logdump_partition:s0
/dev/block/platform/soc/7464900.sdhci/by-name/persist                           u:object_r:persist_block_device:s0

###################################
# Dev socket nodes
#

###################################
# System files
#
/(vendor|system/vendor)/bin/seccamd u:object_r:seccamd_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.automotive\.vehicle@2\.0-hal-service          u:object_r:hal_automotive_vehicle_qti_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.qti\.hardware\.automotive\.audiocontrol@1\.0-service     u:object_r:hal_audiocontrol_qti_exec:s0

###################################
# sysfs files
#

/sys/devices/soc/b00000.qcom,kgsl-3d0/kgsl/kgsl-3d0/gpu_available_frequencies   u:object_r:sysfs_kgsl:s0

#rawdump partition
/dev/block/platform/soc/7464900.sdhci/by-name/rawdump                           u:object_r:rawdump_block_device:s0
/sys/kernel/dload/emmc_dload                                                    u:object_r:sysfs_emmc_dload:s0

############################################################################################
#Same hal process libs
#
/(vendor|system/vendor)/lib(64)?/hw/gralloc\.msm8996\.so   u:object_r:same_process_hal_file:s0
/(vendor|system/vendor)/lib(64)?/hw/vulkan\.msm8996\.so    u:object_r:same_process_hal_file:s0

##################################
# A/B partitions.
#EMMC
/dev/block/platform/soc/7464900.sdhci/by-name/aboot_[ab]            u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/boot_[ab]             u:object_r:boot_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/cmnlib_[ab]           u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/cmnlib64_[ab]         u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/devcfg_[ab]           u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/mdtp_[ab]             u:object_r:mdtp_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/hyp_[ab]              u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/keymaster_[ab]        u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/modem_[ab]            u:object_r:modem_block_device:s0
/dev/block/platform/soc/7464900.ufshc/by-name/bluetooth_[ab]        u:object_r:modem_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/dsp_[ab]              u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/pmic_[ab]             u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/rpm_[ab]              u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/system_[ab]           u:object_r:system_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/tz_[ab]               u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/ImageFv_[ab]          u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/vendor_[ab]           u:object_r:system_block_device:s0
/dev/block/platform/soc/7464900.sdhci/by-name/xbl_[ab]              u:object_r:xbl_block_device:s0

#UFS
/dev/block/platform/soc/624000.ufshc/by-name/aboot_[ab]        u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/boot_[ab]         u:object_r:boot_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/cmnlib_[ab]       u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/cmnlib64_[ab]     u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/devcfg_[ab]       u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/mdtp_[ab]         u:object_r:mdtp_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/hyp_[ab]          u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/keymaster_[ab]    u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/modem_[ab]        u:object_r:modem_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/bluetooth_[ab]    u:object_r:modem_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/dsp_[ab]          u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/pmic_[ab]         u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/rpm_[ab]          u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/system_[ab]       u:object_r:system_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/tz_[ab]           u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/ImageFv_[ab]      u:object_r:custom_ab_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/vendor_[ab]       u:object_r:system_block_device:s0
/dev/block/platform/soc/624000.ufshc/by-name/xbl_[ab]          u:object_r:xbl_block_device:s0

# Block device holding the GPT, where the A/B attributes are stored.
/dev/block/platform/soc/624000.ufshc/sd[ade]                   u:object_r:gpt_block_device:s0

# Block devices for the drive that holds the xbl_a and xbl_b partitions.
/dev/block/platform/soc/624000.ufshc/sd[bc]                 u:object_r:xbl_block_device:s0
