commit 10b88b5bd84548e5e7a22c88b2b0e917c104d9d6 Author: 1ndev <1ndevelopment@protonmail.com> Date: Fri Apr 4 15:29:30 2025 -0700 init commit diff --git a/Android.bp b/Android.bp new file mode 100644 index 0000000..90ba554 --- /dev/null +++ b/Android.bp @@ -0,0 +1,12 @@ +// +// Copyright (C) 2023 The Android Open Source Project +// Copyright (C) 2023 SebaUbuntu's TWRP device tree generator +// +// SPDX-License-Identifier: Apache-2.0 +// + +soong_namespace { + imports: [ + "hardware/qcom-caf/bootctrl", + ], +} diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..e50e6f7 --- /dev/null +++ b/Android.mk @@ -0,0 +1,12 @@ +# +# Copyright (C) 2023 The Android Open Source Project +# Copyright (C) 2023 SebaUbuntu's TWRP device tree generator +# +# SPDX-License-Identifier: Apache-2.0 +# + +LOCAL_PATH := $(call my-dir) + +ifeq ($(TARGET_DEVICE),boston) +include $(call all-subdir-makefiles,$(LOCAL_PATH)) +endif diff --git a/AndroidProducts.mk b/AndroidProducts.mk new file mode 100644 index 0000000..357932b --- /dev/null +++ b/AndroidProducts.mk @@ -0,0 +1,14 @@ +# +# Copyright (C) 2023 The Android Open Source Project +# Copyright (C) 2023 SebaUbuntu's TWRP device tree generator +# +# SPDX-License-Identifier: Apache-2.0 +# + +PRODUCT_MAKEFILES := \ + $(LOCAL_DIR)/twrp_boston.mk + +COMMON_LUNCH_CHOICES := \ + twrp_boston-user \ + twrp_boston-userdebug \ + twrp_boston-eng diff --git a/BoardConfig.mk b/BoardConfig.mk new file mode 100644 index 0000000..95491bc --- /dev/null +++ b/BoardConfig.mk @@ -0,0 +1,194 @@ +# +# Copyright (C) 2024 The Android Open Source Project +# Copyright (C) 2024 SebaUbuntu's TWRP device tree generator +# +# SPDX-License-Identifier: Apache-2.0 +# + +DEVICE_PATH := device/motorola/boston +DEVICE_PREBUILT_PATH := device/motorola/boston/prebuilt + +# A-Team Maintainer Info +TW_MAINTAINER := PizzaG +TW_DEVICE_VERSION := 0.1 +RECOVERY_VARIANT := TWRP_12.1 + +# A/B +AB_OTA_UPDATER := true +BOARD_BUILD_SYSTEM_ROOT_IMAGE := false +AB_OTA_PARTITIONS += \ + boot \ + dtbo \ + product \ + system \ + system_ext \ + recovery \ + vbmeta \ + vbmeta_system \ + vendor \ + vendor_dlkm \ + vendor_boot + +# Architecture +TARGET_ARCH := arm64 +TARGET_ARCH_VARIANT := armv8-a +TARGET_CPU_ABI := arm64-v8a +TARGET_CPU_ABI2 := +TARGET_CPU_VARIANT := generic +TARGET_CPU_VARIANT_RUNTIME := kryo300 + +TARGET_2ND_ARCH := arm +TARGET_2ND_ARCH_VARIANT := armv7-a-neon +TARGET_2ND_CPU_ABI := armeabi-v7a +TARGET_2ND_CPU_ABI2 := armeabi +TARGET_2ND_CPU_VARIANT := generic +TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a75 + +TARGET_SUPPORTS_64_BIT_APPS := true + +# Bootloader +TARGET_BOOTLOADER_BOARD_NAME := parrot +TARGET_NO_BOOTLOADER := false +TARGET_USES_UEFI := true +TARGET_USES_REMOTEPROC := true +TARGET_NO_RECOVERY := false + +# Build Flags +LC_ALL="C" +ALLOW_MISSING_DEPENDENCIES := true +BUILD_BROKEN_DUP_RULES := true +BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true +BUILD_BROKEN_MISSING_REQUIRED_MODULES := true +RELAX_USES_LIBRARY_CHECK := true +TARGET_DEVICE_ALT += boston_g boston XT2419 + +# Display +TARGET_SCREEN_DENSITY := 403 +DEVICE_RESOLUTION := 1080x2400 +TARGET_SCREEN_HEIGHT := 2400 +TARGET_SCREEN_WIDTH := 1080 + +# Kernel +BOARD_BOOT_HEADER_VERSION := 4 +BOARD_KERNEL_BASE := 0x00000000 +BOARD_KERNEL_CMDLINE += printk.devkmsg=on firmware_class.path=/data/vendor/param/firmware +BOARD_BOOTCONFIG += \ + androidboot.hardware=qcom \ + androidboot.memcg=1 \ + androidboot.usbcontroller=a600000.dwc3 +BOARD_KERNEL_IMAGE_NAME := Image +BOARD_KERNEL_PAGESIZE := 4096 +BOARD_KERNEL_SEPARATED_DTBO := true +#BOARD_MKBOOTIMG_ARGS += --dtb $(DEVICE_PREBUILT_PATH)/dtb.img +BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) +#BOARD_INCLUDE_DTB_IN_BOOTIMG := true +TARGET_KERNEL_ARCH := arm64 +TARGET_KERNEL_HEADER_ARCH := arm64 +BOARD_RAMDISK_USE_LZ4 := true + +TARGET_PREBUILT_KERNEL := $(DEVICE_PREBUILT_PATH)/kernel +#TARGET_PREBUILT_DTB := $(DEVICE_PREBUILT_PATH)/dtb.img + +# Copy DTB +#PRODUCT_COPY_FILES += \ +# $(TARGET_PREBUILT_DTB):dtb.img + +TARGET_FORCE_PREBUILT_KERNEL := true +BOARD_USES_FULL_RECOVERY_IMAGE := true +BOARD_EXCLUDE_KERNEL_FROM_RECOVERY_IMAGE := true +BOARD_USES_GENERIC_KERNEL_IMAGE := true + +# Hack: prevent anti rollback +PLATFORM_SECURITY_PATCH := 2099-12-31 +VENDOR_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH) +BOOT_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH) +PLATFORM_VERSION := 99.87.36 +PLATFORM_VERSION_LAST_STABLE := $(PLATFORM_VERSION) + +# Partitions +BOARD_FLASH_BLOCK_SIZE := 262144 # (BOARD_KERNEL_PAGESIZE * 64) +BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions +BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := system system_ext product vendor vendor_dlkm +BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 9122611200 +BOARD_SUPER_PARTITION_SIZE := 9126805504 +BOARD_BOOTIMAGE_PARTITION_SIZE := 134217728 +BOARD_KERNEL_GKI_BOOTIMAGE_PARTITION_SIZE := $(BOARD_BOOTIMAGE_PARTITION_SIZE) +BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296 +BOARD_RECOVERYIMAGE_PARTITION_SIZE := 134217728 +BOARD_SYSTEMIMAGE_PARTITION_TYPE := erofs +BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := erofs +BOARD_USES_METADATA_PARTITION := true +TARGET_COPY_OUT_VENDOR := vendor +TARGET_COPY_OUT_VENDOR_DLKM := vendor_dlkm +BOARD_VENDOR_DLKMIMAGE_FILE_SYSTEM_TYPE := erofs +BOARD_USES_VENDOR_DLKMIMAGE := true +TARGET_USERIMAGES_USE_EXT3 := true +TARGET_USERIMAGES_USE_EXT4 := true +TARGET_USERIMAGES_USE_F2FS := true +TARGET_USERIMAGES_USE_EROFS := true +TARGET_USERIMAGES_USE_E2FSCK := true +TARGET_USERIMAGES_USE_VFAT := true +TARGET_USES_MKE2FS := true +BOARD_HAS_LARGE_FILESYSTEM := true +BOARD_HAS_NO_SELECT_BUTTON := true + +# Platform +TARGET_BOARD_PLATFORM := parrot +QCOM_BOARD_PLATFORMS += parrot + +# Properties +TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop + +# Recovery +TARGET_RECOVERY_QCOM_RTC_FIX := true +TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888 +TARGET_RECOVERY_DEVICE_DIRS += $(DEVICE_PATH) +TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/recovery/root/system/etc/recovery.fstab +TARGET_USERIMAGES_USE_EXT4 := true +TARGET_USERIMAGES_USE_F2FS := true +RECOVERY_SDCARD_ON_DATA := true + +# TWRP Crypto +TW_INCLUDE_CRYPTO := true +TW_INCLUDE_CRYPTO_FBE := true +TW_INCLUDE_FBE_METADATA_DECRYPT := true +BOARD_USES_QCOM_FBE_DECRYPTION := true +TW_USE_FSCRYPT_POLICY := 2 + +# TWRP Configuration +TW_THEME := portrait_hdpi +TW_EXTRA_LANGUAGES := true +TW_INPUT_BLACKLIST := "hbtp_vm" +TW_INCLUDE_REPACKTOOLS := true +TW_INCLUDE_RESETPROP := true +TW_INCLUDE_LIBRESETPROP := true +TW_INCLUDE_NTFS_3G := true +TW_BACKUP_EXCLUSIONS := /data/fonts +TW_NO_SCREEN_BLANK := true +TW_MAX_BRIGHTNESS := 3515 +TW_DEFAULT_BRIGHTNESS := 1024 +TW_FRAMERATE := 60 +TW_HAS_EDL_MODE := true +TW_CUSTOM_CPU_TEMP_PATH := /sys/class/thermal/thermal_zone39/temp +TW_EXCLUDE_DEFAULT_USB_INIT := true +TARGET_USE_CUSTOM_LUN_FILE_PATH := /config/usb_gadget/g1/functions/mass_storage.0/lun.%d/file +TW_SUPPORT_INPUT_AIDL_HAPTICS := true +TW_SUPPORT_INPUT_AIDL_HAPTICS_FIX_OFF := true +TW_USE_SERIALNO_PROPERTY_FOR_DEVICE_ID := true +TW_NO_USB_STORAGE := false +TW_INCLUDE_FASTBOOTD := true +TW_INCLUDE_PYTHON := true + +# Verified Boot +BOARD_AVB_ENABLE := true +BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3 +BOARD_AVB_RECOVERY_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem +BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA4096 +BOARD_AVB_RECOVERY_ROLLBACK_INDEX := 1 +BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1 +BOARD_AVB_VBMETA_SYSTEM := product system system_ext +BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem +BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA4096 +BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) +BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX_LOCATION := 2 diff --git a/README.md b/README.md new file mode 100644 index 0000000..7422f95 --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +Motorola Moto G Stylus 5G 2024 + + +# Building +```bash +source build/envsetup.sh +lunch twrp_boston-eng +mka recoveryimage -j$(nproc --all) +``` + +**Copyright (C) 2024 A-Team Digital Solutions**
+**Tree template from TeamWin, some file from VanFirmwareDumps** diff --git a/bootctrl/Android.bp b/bootctrl/Android.bp new file mode 100755 index 0000000..bc91110 --- /dev/null +++ b/bootctrl/Android.bp @@ -0,0 +1,28 @@ +// +// Copyright (C) 2018 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +cc_library { + name: "bootctrl.moto_sm8475", + defaults: ["bootctrl_hal_defaults"], + static_libs: ["libgptutils.moto_sm8475"], +} + +cc_library_shared { + name: "android.hardware.boot@1.2-impl-qti", + stem: "android.hardware.boot@1.0-impl-1.2-qti", + defaults: ["android.hardware.boot@1.2-impl-qti_defaults"], + static_libs: ["libgptutils.moto_sm8475"], +} diff --git a/device.mk b/device.mk new file mode 100644 index 0000000..ba6b01c --- /dev/null +++ b/device.mk @@ -0,0 +1,130 @@ +# +# Copyright (C) 2023 The Android Open Source Project +# Copyright (C) 2023 SebaUbuntu's TWRP device tree generator +# +# SPDX-License-Identifier: Apache-2.0 +# + +# Soong namespaces +PRODUCT_SOONG_NAMESPACES += \ + $(LOCAL_PATH) + +# API +BOARD_SHIPPING_API_LEVEL := 31 +BOARD_API_LEVEL := 31 +PRODUCT_SHIPPING_API_LEVEL := 31 +SHIPPING_API_LEVEL := 31 + +# A/B +AB_OTA_POSTINSTALL_CONFIG += \ + RUN_POSTINSTALL_system=true \ + POSTINSTALL_PATH_system=system/bin/otapreopt_script \ + FILESYSTEM_TYPE_system=erofs \ + POSTINSTALL_OPTIONAL_system=true + +AB_OTA_POSTINSTALL_CONFIG += \ + RUN_POSTINSTALL_vendor=true \ + POSTINSTALL_PATH_vendor=bin/checkpoint_gc \ + FILESYSTEM_TYPE_vendor=erofs \ + POSTINSTALL_OPTIONAL_vendor=true + +# Boot control HAL +PRODUCT_PACKAGES += \ + android.hardware.boot@1.2-impl-qti \ + android.hardware.boot@1.2-impl-qti.recovery \ + android.hardware.boot@1.2-service + +PRODUCT_PACKAGES_DEBUG += \ + bootctl + +PRODUCT_PACKAGES += \ + otapreopt_script \ + checkpoint_gc \ + update_engine \ + update_engine_client \ + update_verifier \ + update_engine_sideload + +# Crypto +PRODUCT_PACKAGES += \ + qcom_decrypt \ + qcom_decrypt_fbe + +# Dynamic partitions +PRODUCT_USE_DYNAMIC_PARTITIONS := true + +# F2FS utilities +PRODUCT_PACKAGES += \ + sg_write_buffer \ + f2fs_io \ + check_f2fs + +# FastbootD +PRODUCT_PACKAGES += \ + fastbootd \ + android.hardware.fastboot@1.1-impl-mock + +# HACK: Set vendor patch level +PRODUCT_PROPERTY_OVERRIDES += \ + ro.bootimage.build.date.utc=0 \ + ro.build.date.utc=0 + +# OEM otacert +PRODUCT_EXTRA_RECOVERY_KEYS += \ + $(LOCAL_PATH)/security/ota + +# Take a few libraries from sources +TARGET_RECOVERY_DEVICE_MODULES += \ + android.hardware.vibrator-V2-cpp \ + android.hidl.allocator@1.0 \ + android.hidl.memory@1.0 \ + android.hidl.memory.token@1.0 \ + libdmabufheap \ + libhidlmemory \ + libion \ + libnetutils \ + libxml2 \ + vendor.display.config@1.0 \ + vendor.display.config@1.1 \ + vendor.display.config@1.2 \ + vendor.display.config@1.3 \ + vendor.display.config@1.4 \ + vendor.display.config@1.5 \ + vendor.display.config@1.6 \ + vendor.display.config@1.7 \ + vendor.display.config@1.8 \ + vendor.display.config@1.9 \ + vendor.display.config@1.10 \ + vendor.display.config@1.11 \ + vendor.display.config@2.0 \ + libdisplayconfig.qti + +RECOVERY_LIBRARY_SOURCE_FILES += \ + $(TARGET_OUT_SHARED_LIBRARIES)/android.hardware.vibrator-V2-cpp.so \ + $(TARGET_OUT_SHARED_LIBRARIES)/android.hidl.allocator@1.0.so \ + $(TARGET_OUT_SHARED_LIBRARIES)/android.hidl.memory@1.0.so \ + $(TARGET_OUT_SHARED_LIBRARIES)/android.hidl.memory.token@1.0.so \ + $(TARGET_OUT_SHARED_LIBRARIES)/libdmabufheap.so \ + $(TARGET_OUT_SHARED_LIBRARIES)/libhidlmemory.so \ + $(TARGET_OUT_SHARED_LIBRARIES)/libion.so \ + $(TARGET_OUT_SHARED_LIBRARIES)/libnetutils.so \ + $(TARGET_OUT_SHARED_LIBRARIES)/libxml2.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@1.0.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@1.1.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@1.2.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@1.3.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@1.4.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@1.5.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@1.6.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@1.7.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@1.8.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@1.9.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@1.1.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@1.11.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/vendor.display.config@2.0.so \ + $(TARGET_OUT_SYSTEM_EXT_SHARED_LIBRARIES)/libdisplayconfig.qti.so + +# Namespace definition for librecovery_updater +SOONG_CONFIG_NAMESPACES += ufsbsg +SOONG_CONFIG_ufsbsg += ufsframework +SOONG_CONFIG_ufsbsg_ufsframework := bsg diff --git a/gpt-utils/Android.bp b/gpt-utils/Android.bp new file mode 100755 index 0000000..4bb3ecf --- /dev/null +++ b/gpt-utils/Android.bp @@ -0,0 +1,42 @@ +// +// Copyright (C) 2018 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +cc_library { + name: "libgptutils.moto_sm8475", + vendor: true, + recovery_available: true, + shared_libs: [ + "libcutils", + "liblog", + "libz", + ], + cflags: [ + "-Wall", + "-Werror", + "-Wno-unused-parameter", + "-D_GENERIC_KERNEL_HEADERS", + "-D_BSG_FRAMEWORK_KERNEL_HEADERS", + ], + srcs: [ + "gpt-utils.cpp", + "recovery-ufs-bsg.cpp", + ], + owner: "qti", + header_libs: [ + "device_kernel_headers", + ], + export_include_dirs: ["."], +} diff --git a/gpt-utils/gpt-utils.cpp b/gpt-utils/gpt-utils.cpp new file mode 100755 index 0000000..8f2e3d0 --- /dev/null +++ b/gpt-utils/gpt-utils.cpp @@ -0,0 +1,1527 @@ +/* + * Copyright (c) 2013,2016,2020 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. + */ + +#define _LARGEFILE64_SOURCE /* enable lseek64() */ + +/****************************************************************************** + * INCLUDE SECTION + ******************************************************************************/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifndef __STDC_FORMAT_MACROS +#define __STDC_FORMAT_MACROS +#endif +#include + + +#define LOG_TAG "gpt-utils" +#include +#include +#include "gpt-utils.h" +#include +#include + + +/****************************************************************************** + * DEFINE SECTION + ******************************************************************************/ +#define BLK_DEV_FILE "/dev/block/mmcblk0" +/* list the names of the backed-up partitions to be swapped */ +/* extension used for the backup partitions - tzbak, abootbak, etc. */ +#define BAK_PTN_NAME_EXT "bak" +#define XBL_PRIMARY "/dev/block/bootdevice/by-name/xbl" +#define XBL_BACKUP "/dev/block/bootdevice/by-name/xblbak" +#define XBL_AB_PRIMARY "/dev/block/bootdevice/by-name/xbl_a" +#define XBL_AB_SECONDARY "/dev/block/bootdevice/by-name/xbl_b" +/* GPT defines */ +#define MAX_LUNS 26 +//This will allow us to get the root lun path from the path to the partition. +//i.e: from /dev/block/sdaXXX get /dev/block/sda. The assumption here is that +//the boot critical luns lie between sda to sdz which is acceptable because +//only user added external disks,etc would lie beyond that limit which do not +//contain partitions that interest us here. +#define PATH_TRUNCATE_LOC (sizeof("/dev/block/sda") - 1) + +//From /dev/block/sda get just sda +#define LUN_NAME_START_LOC (sizeof("/dev/block/") - 1) +#define BOOT_LUN_A_ID 1 +#define BOOT_LUN_B_ID 2 +/****************************************************************************** + * MACROS + ******************************************************************************/ + + +#define GET_4_BYTES(ptr) ((uint32_t) *((uint8_t *)(ptr)) | \ + ((uint32_t) *((uint8_t *)(ptr) + 1) << 8) | \ + ((uint32_t) *((uint8_t *)(ptr) + 2) << 16) | \ + ((uint32_t) *((uint8_t *)(ptr) + 3) << 24)) + +#define GET_8_BYTES(ptr) ((uint64_t) *((uint8_t *)(ptr)) | \ + ((uint64_t) *((uint8_t *)(ptr) + 1) << 8) | \ + ((uint64_t) *((uint8_t *)(ptr) + 2) << 16) | \ + ((uint64_t) *((uint8_t *)(ptr) + 3) << 24) | \ + ((uint64_t) *((uint8_t *)(ptr) + 4) << 32) | \ + ((uint64_t) *((uint8_t *)(ptr) + 5) << 40) | \ + ((uint64_t) *((uint8_t *)(ptr) + 6) << 48) | \ + ((uint64_t) *((uint8_t *)(ptr) + 7) << 56)) + +#define PUT_4_BYTES(ptr, y) *((uint8_t *)(ptr)) = (y) & 0xff; \ + *((uint8_t *)(ptr) + 1) = ((y) >> 8) & 0xff; \ + *((uint8_t *)(ptr) + 2) = ((y) >> 16) & 0xff; \ + *((uint8_t *)(ptr) + 3) = ((y) >> 24) & 0xff; + +/****************************************************************************** + * TYPES + ******************************************************************************/ +using namespace std; +enum gpt_state { + GPT_OK = 0, + GPT_BAD_SIGNATURE, + GPT_BAD_CRC +}; +//List of LUN's containing boot critical images. +//Required in the case of UFS devices +struct update_data { + char lun_list[MAX_LUNS][PATH_MAX]; + uint32_t num_valid_entries; +}; + +int32_t set_boot_lun(char *sg_dev,uint8_t boot_lun_id); +/****************************************************************************** + * FUNCTIONS + ******************************************************************************/ +/** + * ========================================================================== + * + * \brief Read/Write len bytes from/to block dev + * + * \param [in] fd block dev file descriptor (returned from open) + * \param [in] rw RW flag: 0 - read, != 0 - write + * \param [in] offset block dev offset [bytes] - RW start position + * \param [in] buf Pointer to the buffer containing the data + * \param [in] len RW size in bytes. Buf must be at least that big + * + * \return 0 on success + * + * ========================================================================== + */ +static int blk_rw(int fd, int rw, int64_t offset, uint8_t *buf, unsigned len) +{ + int r; + + if (lseek64(fd, offset, SEEK_SET) < 0) { + fprintf(stderr, "block dev lseek64 %" PRIi64 " failed: %s\n", offset, + strerror(errno)); + return -1; + } + + if (rw) + r = write(fd, buf, len); + else + r = read(fd, buf, len); + + if (r < 0) { + fprintf(stderr, "block dev %s failed: %s\n", rw ? "write" : "read", + strerror(errno)); + } else { + if (rw) { + r = fsync(fd); + if (r < 0) + fprintf(stderr, "fsync failed: %s\n", strerror(errno)); + } else { + r = 0; + } + } + + return r; +} + + + +/** + * ========================================================================== + * + * \brief Search within GPT for partition entry with the given name + * or it's backup twin (name-bak). + * + * \param [in] ptn_name Partition name to seek + * \param [in] pentries_start Partition entries array start pointer + * \param [in] pentries_end Partition entries array end pointer + * \param [in] pentry_size Single partition entry size [bytes] + * + * \return First partition entry pointer that matches the name or NULL + * + * ========================================================================== + */ +static uint8_t *gpt_pentry_seek(const char *ptn_name, + const uint8_t *pentries_start, + const uint8_t *pentries_end, + uint32_t pentry_size) +{ + char *pentry_name; + unsigned len = strlen(ptn_name); + unsigned i; + char name8[MAX_GPT_NAME_SIZE] = {0}; // initialize with null + + for (pentry_name = (char *) (pentries_start + PARTITION_NAME_OFFSET); + pentry_name < (char *) pentries_end; + pentry_name += pentry_size) { + + /* Partition names in GPT are UTF-16 - ignoring UTF-16 2nd byte */ + for (i = 0; i < sizeof(name8) / 2; i++) + name8[i] = pentry_name[i * 2]; + name8[i] = '\0'; + + if (!strncmp(ptn_name, name8, len)) { + if (name8[len] == 0 || !strcmp(&name8[len], BAK_PTN_NAME_EXT)) + return (uint8_t *) (pentry_name - PARTITION_NAME_OFFSET); + } + } + + return NULL; +} + + + +/** + * ========================================================================== + * + * \brief Swaps boot chain in GPT partition entries array + * + * \param [in] pentries_start Partition entries array start + * \param [in] pentries_end Partition entries array end + * \param [in] pentry_size Single partition entry size + * + * \return 0 on success, 1 if no backup partitions found + * + * ========================================================================== + */ +static int gpt_boot_chain_swap(const uint8_t *pentries_start, + const uint8_t *pentries_end, + uint32_t pentry_size) +{ + const char ptn_swap_list[][MAX_GPT_NAME_SIZE] = { PTN_SWAP_LIST }; + + int backup_not_found = 1; + unsigned i; + + for (i = 0; i < ARRAY_SIZE(ptn_swap_list); i++) { + uint8_t *ptn_entry; + uint8_t *ptn_bak_entry; + uint8_t ptn_swap[PTN_ENTRY_SIZE]; + //Skip the xbl, multiimgoem, multiimgqti partitions on UFS devices. That is handled + //seperately. + if ((gpt_utils_is_ufs_device() && !strncmp(ptn_swap_list[i],PTN_XBL,strlen(PTN_XBL))) + || !strncmp(ptn_swap_list[i],PTN_MULTIIMGOEM,strlen(PTN_MULTIIMGOEM)) + || !strncmp(ptn_swap_list[i],PTN_MULTIIMGQTI,strlen(PTN_MULTIIMGQTI))) + continue; + + ptn_entry = gpt_pentry_seek(ptn_swap_list[i], pentries_start, + pentries_end, pentry_size); + if (ptn_entry == NULL) + continue; + + ptn_bak_entry = gpt_pentry_seek(ptn_swap_list[i], + ptn_entry + pentry_size, pentries_end, pentry_size); + if (ptn_bak_entry == NULL) { + fprintf(stderr, "'%s' partition not backup - skip safe update\n", + ptn_swap_list[i]); + continue; + } + + /* swap primary <-> backup partition entries */ + memcpy(ptn_swap, ptn_entry, PTN_ENTRY_SIZE); + memcpy(ptn_entry, ptn_bak_entry, PTN_ENTRY_SIZE); + memcpy(ptn_bak_entry, ptn_swap, PTN_ENTRY_SIZE); + backup_not_found = 0; + } + + return backup_not_found; +} + + + +/** + * ========================================================================== + * + * \brief Sets secondary GPT boot chain + * + * \param [in] fd block dev file descriptor + * \param [in] boot Boot chain to switch to + * + * \return 0 on success + * + * ========================================================================== + */ +static int gpt2_set_boot_chain(int fd, enum boot_chain boot) +{ + int64_t gpt2_header_offset; + uint64_t pentries_start_offset; + uint32_t gpt_header_size; + uint32_t pentry_size; + uint32_t pentries_array_size; + + uint8_t *gpt_header = NULL; + uint8_t *pentries = NULL; + uint32_t crc; + uint32_t crc_zero; + uint32_t blk_size = 0; + int r; + + + crc_zero = crc32(0L, Z_NULL, 0); + if (ioctl(fd, BLKSSZGET, &blk_size) != 0) { + fprintf(stderr, "Failed to get GPT device block size: %s\n", + strerror(errno)); + r = -1; + goto EXIT; + } + gpt_header = (uint8_t*)malloc(blk_size); + if (!gpt_header) { + fprintf(stderr, "Failed to allocate memory to hold GPT block\n"); + r = -1; + goto EXIT; + } + gpt2_header_offset = lseek64(fd, 0, SEEK_END) - blk_size; + if (gpt2_header_offset < 0) { + fprintf(stderr, "Getting secondary GPT header offset failed: %s\n", + strerror(errno)); + r = -1; + goto EXIT; + } + + /* Read primary GPT header from block dev */ + r = blk_rw(fd, 0, blk_size, gpt_header, blk_size); + + if (r) { + fprintf(stderr, "Failed to read primary GPT header from blk dev\n"); + goto EXIT; + } + pentries_start_offset = + GET_8_BYTES(gpt_header + PENTRIES_OFFSET) * blk_size; + pentry_size = GET_4_BYTES(gpt_header + PENTRY_SIZE_OFFSET); + pentries_array_size = + GET_4_BYTES(gpt_header + PARTITION_COUNT_OFFSET) * pentry_size; + + pentries = (uint8_t *) calloc(1, pentries_array_size); + if (pentries == NULL) { + fprintf(stderr, + "Failed to alloc memory for GPT partition entries array\n"); + r = -1; + goto EXIT; + } + /* Read primary GPT partititon entries array from block dev */ + r = blk_rw(fd, 0, pentries_start_offset, pentries, pentries_array_size); + if (r) + goto EXIT; + + crc = crc32(crc_zero, pentries, pentries_array_size); + if (GET_4_BYTES(gpt_header + PARTITION_CRC_OFFSET) != crc) { + fprintf(stderr, "Primary GPT partition entries array CRC invalid\n"); + r = -1; + goto EXIT; + } + + /* Read secondary GPT header from block dev */ + r = blk_rw(fd, 0, gpt2_header_offset, gpt_header, blk_size); + if (r) + goto EXIT; + + gpt_header_size = GET_4_BYTES(gpt_header + HEADER_SIZE_OFFSET); + pentries_start_offset = + GET_8_BYTES(gpt_header + PENTRIES_OFFSET) * blk_size; + + if (boot == BACKUP_BOOT) { + r = gpt_boot_chain_swap(pentries, pentries + pentries_array_size, + pentry_size); + if (r) + goto EXIT; + } + + crc = crc32(crc_zero, pentries, pentries_array_size); + PUT_4_BYTES(gpt_header + PARTITION_CRC_OFFSET, crc); + + /* header CRC is calculated with this field cleared */ + PUT_4_BYTES(gpt_header + HEADER_CRC_OFFSET, 0); + crc = crc32(crc_zero, gpt_header, gpt_header_size); + PUT_4_BYTES(gpt_header + HEADER_CRC_OFFSET, crc); + + /* Write the modified GPT header back to block dev */ + r = blk_rw(fd, 1, gpt2_header_offset, gpt_header, blk_size); + if (!r) + /* Write the modified GPT partititon entries array back to block dev */ + r = blk_rw(fd, 1, pentries_start_offset, pentries, + pentries_array_size); + +EXIT: + if(gpt_header) + free(gpt_header); + if (pentries) + free(pentries); + return r; +} + +/** + * ========================================================================== + * + * \brief Checks GPT state (header signature and CRC) + * + * \param [in] fd block dev file descriptor + * \param [in] gpt GPT header to be checked + * \param [out] state GPT header state + * + * \return 0 on success + * + * ========================================================================== + */ +static int gpt_get_state(int fd, enum gpt_instance gpt, enum gpt_state *state) +{ + int64_t gpt_header_offset; + uint32_t gpt_header_size; + uint8_t *gpt_header = NULL; + uint32_t crc; + uint32_t crc_zero; + uint32_t blk_size = 0; + + *state = GPT_OK; + + crc_zero = crc32(0L, Z_NULL, 0); + if (ioctl(fd, BLKSSZGET, &blk_size) != 0) { + fprintf(stderr, "Failed to get GPT device block size: %s\n", + strerror(errno)); + goto error; + } + gpt_header = (uint8_t*)malloc(blk_size); + if (!gpt_header) { + fprintf(stderr, "gpt_get_state:Failed to alloc memory for header\n"); + goto error; + } + if (gpt == PRIMARY_GPT) + gpt_header_offset = blk_size; + else { + gpt_header_offset = lseek64(fd, 0, SEEK_END) - blk_size; + if (gpt_header_offset < 0) { + fprintf(stderr, "gpt_get_state:Seek to end of GPT part fail\n"); + goto error; + } + } + + if (blk_rw(fd, 0, gpt_header_offset, gpt_header, blk_size)) { + fprintf(stderr, "gpt_get_state: blk_rw failed\n"); + goto error; + } + if (memcmp(gpt_header, GPT_SIGNATURE, sizeof(GPT_SIGNATURE))) + *state = GPT_BAD_SIGNATURE; + gpt_header_size = GET_4_BYTES(gpt_header + HEADER_SIZE_OFFSET); + + crc = GET_4_BYTES(gpt_header + HEADER_CRC_OFFSET); + /* header CRC is calculated with this field cleared */ + PUT_4_BYTES(gpt_header + HEADER_CRC_OFFSET, 0); + if (crc32(crc_zero, gpt_header, gpt_header_size) != crc) + *state = GPT_BAD_CRC; + free(gpt_header); + return 0; +error: + if (gpt_header) + free(gpt_header); + return -1; +} + + + +/** + * ========================================================================== + * + * \brief Sets GPT header state (used to corrupt and fix GPT signature) + * + * \param [in] fd block dev file descriptor + * \param [in] gpt GPT header to be checked + * \param [in] state GPT header state to set (GPT_OK or GPT_BAD_SIGNATURE) + * + * \return 0 on success + * + * ========================================================================== + */ +static int gpt_set_state(int fd, enum gpt_instance gpt, enum gpt_state state) +{ + int64_t gpt_header_offset; + uint32_t gpt_header_size; + uint8_t *gpt_header = NULL; + uint32_t crc; + uint32_t crc_zero; + uint32_t blk_size = 0; + + crc_zero = crc32(0L, Z_NULL, 0); + if (ioctl(fd, BLKSSZGET, &blk_size) != 0) { + fprintf(stderr, "Failed to get GPT device block size: %s\n", + strerror(errno)); + goto error; + } + gpt_header = (uint8_t*)malloc(blk_size); + if (!gpt_header) { + fprintf(stderr, "Failed to alloc memory for gpt header\n"); + goto error; + } + if (gpt == PRIMARY_GPT) + gpt_header_offset = blk_size; + else { + gpt_header_offset = lseek64(fd, 0, SEEK_END) - blk_size; + if (gpt_header_offset < 0) { + fprintf(stderr, "Failed to seek to end of GPT device\n"); + goto error; + } + } + if (blk_rw(fd, 0, gpt_header_offset, gpt_header, blk_size)) { + fprintf(stderr, "Failed to r/w gpt header\n"); + goto error; + } + if (state == GPT_OK) + memcpy(gpt_header, GPT_SIGNATURE, sizeof(GPT_SIGNATURE)); + else if (state == GPT_BAD_SIGNATURE) + *gpt_header = 0; + else { + fprintf(stderr, "gpt_set_state: Invalid state\n"); + goto error; + } + + gpt_header_size = GET_4_BYTES(gpt_header + HEADER_SIZE_OFFSET); + + /* header CRC is calculated with this field cleared */ + PUT_4_BYTES(gpt_header + HEADER_CRC_OFFSET, 0); + crc = crc32(crc_zero, gpt_header, gpt_header_size); + PUT_4_BYTES(gpt_header + HEADER_CRC_OFFSET, crc); + + if (blk_rw(fd, 1, gpt_header_offset, gpt_header, blk_size)) { + fprintf(stderr, "gpt_set_state: blk write failed\n"); + goto error; + } + return 0; +error: + if(gpt_header) + free(gpt_header); + return -1; +} + +int get_scsi_node_from_bootdevice(const char *bootdev_path, + char *sg_node_path, + size_t buf_size) +{ + char sg_dir_path[PATH_MAX] = {0}; + char real_path[PATH_MAX] = {0}; + DIR *scsi_dir = NULL; + struct dirent *de; + int node_found = 0; + if (!bootdev_path || !sg_node_path) { + fprintf(stderr, "%s : invalid argument\n", + __func__); + goto error; + } + if (readlink(bootdev_path, real_path, sizeof(real_path) - 1) < 0) { + fprintf(stderr, "failed to resolve link for %s(%s)\n", + bootdev_path, + strerror(errno)); + goto error; + } + if(strlen(real_path) < PATH_TRUNCATE_LOC + 1){ + fprintf(stderr, "Unrecognized path :%s:\n", + real_path); + goto error; + } + //For the safe side in case there are additional partitions on + //the XBL lun we truncate the name. + real_path[PATH_TRUNCATE_LOC] = '\0'; + if(strlen(real_path) < LUN_NAME_START_LOC + 1){ + fprintf(stderr, "Unrecognized truncated path :%s:\n", + real_path); + goto error; + } + //This will give us /dev/block/sdb/device/scsi_generic + //which contains a file sgY whose name gives us the path + //to /dev/sgY which we return + snprintf(sg_dir_path, sizeof(sg_dir_path) - 1, + "/sys/block/%s/device/scsi_generic", + &real_path[LUN_NAME_START_LOC]); + scsi_dir = opendir(sg_dir_path); + if (!scsi_dir) { + fprintf(stderr, "%s : Failed to open %s(%s)\n", + __func__, + sg_dir_path, + strerror(errno)); + goto error; + } + while((de = readdir(scsi_dir))) { + if (de->d_name[0] == '.') + continue; + else if (!strncmp(de->d_name, "sg", 2)) { + snprintf(sg_node_path, + buf_size -1, + "/dev/%s", + de->d_name); + fprintf(stderr, "%s:scsi generic node is :%s:\n", + __func__, + sg_node_path); + node_found = 1; + break; + } + } + if(!node_found) { + fprintf(stderr,"%s: Unable to locate scsi generic node\n", + __func__); + goto error; + } + closedir(scsi_dir); + return 0; +error: + if (scsi_dir) + closedir(scsi_dir); + return -1; +} + + + +//Swtich betwieen using either the primary or the backup +//boot LUN for boot. This is required since UFS boot partitions +//cannot have a backup GPT which is what we use for failsafe +//updates of the other 'critical' partitions. This function will +//not be invoked for emmc targets and on UFS targets is only required +//to be invoked for XBL. +// +//The algorithm to do this is as follows: +//- Find the real block device(eg: /dev/block/sdb) that corresponds +// to the /dev/block/bootdevice/by-name/xbl(bak) symlink +// +//- Once we have the block device 'node' name(sdb in the above example) +// use this node to to locate the scsi generic device that represents +// it by checking the file /sys/block/sdb/device/scsi_generic/sgY +// +//- Once we locate sgY we call the query ioctl on /dev/sgy to switch +//the boot lun to either LUNA or LUNB +int gpt_utils_set_xbl_boot_partition(enum boot_chain chain) +{ + struct stat st; + ///sys/block/sdX/device/scsi_generic/ + char sg_dev_node[PATH_MAX] = {0}; + uint8_t boot_lun_id = 0; + const char *boot_dev = NULL; + + if (chain == BACKUP_BOOT) { + boot_lun_id = BOOT_LUN_B_ID; + if (!stat(XBL_BACKUP, &st)) + boot_dev = XBL_BACKUP; + else if (!stat(XBL_AB_SECONDARY, &st)) + boot_dev = XBL_AB_SECONDARY; + else { + fprintf(stderr, "%s: Failed to locate secondary xbl\n", + __func__); + goto error; + } + } else if (chain == NORMAL_BOOT) { + boot_lun_id = BOOT_LUN_A_ID; + if (!stat(XBL_PRIMARY, &st)) + boot_dev = XBL_PRIMARY; + else if (!stat(XBL_AB_PRIMARY, &st)) + boot_dev = XBL_AB_PRIMARY; + else { + fprintf(stderr, "%s: Failed to locate primary xbl\n", + __func__); + goto error; + } + } else { + fprintf(stderr, "%s: Invalid boot chain id\n", __func__); + goto error; + } + //We need either both xbl and xblbak or both xbl_a and xbl_b to exist at + //the same time. If not the current configuration is invalid. + if((stat(XBL_PRIMARY, &st) || + stat(XBL_BACKUP, &st)) && + (stat(XBL_AB_PRIMARY, &st) || + stat(XBL_AB_SECONDARY, &st))) { + fprintf(stderr, "%s:primary/secondary XBL prt not found(%s)\n", + __func__, + strerror(errno)); + goto error; + } + fprintf(stderr, "%s: setting %s lun as boot lun\n", + __func__, + boot_dev); + if (get_scsi_node_from_bootdevice(boot_dev, + sg_dev_node, + sizeof(sg_dev_node))) { + fprintf(stderr, "%s: Failed to get scsi node path for xblbak\n", + __func__); + goto error; + } + /* set boot lun using /dev/sg or /dev/ufs-bsg* */ + if (set_boot_lun(sg_dev_node, boot_lun_id)) { + fprintf(stderr, "%s: Failed to set xblbak as boot partition\n", + __func__); + goto error; + } + return 0; +error: + return -1; +} + +int gpt_utils_is_ufs_device() +{ + char bootdevice[PROPERTY_VALUE_MAX] = {0}; + property_get("ro.boot.bootdevice", bootdevice, "N/A"); + if (strlen(bootdevice) < strlen(".ufshc") + 1) + return 0; + return (!strncmp(&bootdevice[strlen(bootdevice) - strlen(".ufshc")], + ".ufshc", + sizeof(".ufshc"))); +} +//dev_path is the path to the block device that contains the GPT image that +//needs to be updated. This would be the device which holds one or more critical +//boot partitions and their backups. In the case of EMMC this function would +//be invoked only once on /dev/block/mmcblk1 since it holds the GPT image +//containing all the partitions For UFS devices it could potentially be +//invoked multiple times, once for each LUN containing critical image(s) and +//their backups +int prepare_partitions(enum boot_update_stage stage, const char *dev_path) +{ + int r = 0; + int fd = -1; + int is_ufs = gpt_utils_is_ufs_device(); + enum gpt_state gpt_prim, gpt_second; + enum boot_update_stage internal_stage; + struct stat xbl_partition_stat; + + if (!dev_path) { + fprintf(stderr, "%s: Invalid dev_path\n", + __func__); + r = -1; + goto EXIT; + } + fd = open(dev_path, O_RDWR); + if (fd < 0) { + fprintf(stderr, "%s: Opening '%s' failed: %s\n", + __func__, + BLK_DEV_FILE, + strerror(errno)); + r = -1; + goto EXIT; + } + r = gpt_get_state(fd, PRIMARY_GPT, &gpt_prim) || + gpt_get_state(fd, SECONDARY_GPT, &gpt_second); + if (r) { + fprintf(stderr, "%s: Getting GPT headers state failed\n", + __func__); + goto EXIT; + } + + /* These 2 combinations are unexpected and unacceptable */ + if (gpt_prim == GPT_BAD_CRC || gpt_second == GPT_BAD_CRC) { + fprintf(stderr, "%s: GPT headers CRC corruption detected, aborting\n", + __func__); + r = -1; + goto EXIT; + } + if (gpt_prim == GPT_BAD_SIGNATURE && gpt_second == GPT_BAD_SIGNATURE) { + fprintf(stderr, "%s: Both GPT headers corrupted, aborting\n", + __func__); + r = -1; + goto EXIT; + } + + /* Check internal update stage according GPT headers' state */ + if (gpt_prim == GPT_OK && gpt_second == GPT_OK) + internal_stage = UPDATE_MAIN; + else if (gpt_prim == GPT_BAD_SIGNATURE) + internal_stage = UPDATE_BACKUP; + else if (gpt_second == GPT_BAD_SIGNATURE) + internal_stage = UPDATE_FINALIZE; + else { + fprintf(stderr, "%s: Abnormal GPTs state: primary (%d), secondary (%d), " + "aborting\n", __func__, gpt_prim, gpt_second); + r = -1; + goto EXIT; + } + + /* Stage already set - ready for update, exitting */ + if ((int) stage == (int) internal_stage - 1) + goto EXIT; + /* Unexpected stage given */ + if (stage != internal_stage) { + r = -1; + goto EXIT; + } + + switch (stage) { + case UPDATE_MAIN: + if (is_ufs) { + if(stat(XBL_PRIMARY, &xbl_partition_stat)|| + stat(XBL_BACKUP, &xbl_partition_stat)){ + //Non fatal error. Just means this target does not + //use XBL but relies on sbl whose update is handled + //by the normal methods. + fprintf(stderr, "%s: xbl part not found(%s).Assuming sbl in use\n", + __func__, + strerror(errno)); + } else { + //Switch the boot lun so that backup boot LUN is used + r = gpt_utils_set_xbl_boot_partition(BACKUP_BOOT); + if(r){ + fprintf(stderr, "%s: Failed to set xbl backup partition as boot\n", + __func__); + goto EXIT; + } + } + } + //Fix up the backup GPT table so that it actually points to + //the backup copy of the boot critical images + fprintf(stderr, "%s: Preparing for primary partition update\n", + __func__); + r = gpt2_set_boot_chain(fd, BACKUP_BOOT); + if (r) { + if (r < 0) + fprintf(stderr, + "%s: Setting secondary GPT to backup boot failed\n", + __func__); + /* No backup partitions - do not corrupt GPT, do not flag error */ + else + r = 0; + goto EXIT; + } + //corrupt the primary GPT so that the backup(which now points to + //the backup boot partitions is used) + r = gpt_set_state(fd, PRIMARY_GPT, GPT_BAD_SIGNATURE); + if (r) { + fprintf(stderr, "%s: Corrupting primary GPT header failed\n", + __func__); + goto EXIT; + } + break; + case UPDATE_BACKUP: + if (is_ufs) { + if(stat(XBL_PRIMARY, &xbl_partition_stat)|| + stat(XBL_BACKUP, &xbl_partition_stat)){ + //Non fatal error. Just means this target does not + //use XBL but relies on sbl whose update is handled + //by the normal methods. + fprintf(stderr, "%s: xbl part not found(%s).Assuming sbl in use\n", + __func__, + strerror(errno)); + } else { + //Switch the boot lun so that backup boot LUN is used + r = gpt_utils_set_xbl_boot_partition(NORMAL_BOOT); + if(r) { + fprintf(stderr, "%s: Failed to set xbl backup partition as boot\n", + __func__); + goto EXIT; + } + } + } + //Fix the primary GPT header so that is used + fprintf(stderr, "%s: Preparing for backup partition update\n", + __func__); + r = gpt_set_state(fd, PRIMARY_GPT, GPT_OK); + if (r) { + fprintf(stderr, "%s: Fixing primary GPT header failed\n", + __func__); + goto EXIT; + } + //Corrupt the scondary GPT header + r = gpt_set_state(fd, SECONDARY_GPT, GPT_BAD_SIGNATURE); + if (r) { + fprintf(stderr, "%s: Corrupting secondary GPT header failed\n", + __func__); + goto EXIT; + } + break; + case UPDATE_FINALIZE: + //Undo the changes we had made in the UPDATE_MAIN stage so that the + //primary/backup GPT headers once again point to the same set of + //partitions + fprintf(stderr, "%s: Finalizing partitions\n", + __func__); + r = gpt2_set_boot_chain(fd, NORMAL_BOOT); + if (r < 0) { + fprintf(stderr, "%s: Setting secondary GPT to normal boot failed\n", + __func__); + goto EXIT; + } + + r = gpt_set_state(fd, SECONDARY_GPT, GPT_OK); + if (r) { + fprintf(stderr, "%s: Fixing secondary GPT header failed\n", + __func__); + goto EXIT; + } + break; + default:; + } + +EXIT: + if (fd >= 0) { + fsync(fd); + close(fd); + } + return r; +} + +int add_lun_to_update_list(char *lun_path, struct update_data *dat) +{ + uint32_t i = 0; + struct stat st; + if (!lun_path || !dat){ + fprintf(stderr, "%s: Invalid data", + __func__); + return -1; + } + if (stat(lun_path, &st)) { + fprintf(stderr, "%s: Unable to access %s. Skipping adding to list", + __func__, + lun_path); + return -1; + } + if (dat->num_valid_entries == 0) { + fprintf(stderr, "%s: Copying %s into lun_list[%d]\n", + __func__, + lun_path, + i); + strlcpy(dat->lun_list[0], lun_path, + PATH_MAX * sizeof(char)); + dat->num_valid_entries = 1; + } else { + for (i = 0; (i < dat->num_valid_entries) && + (dat->num_valid_entries < MAX_LUNS - 1); i++) { + //Check if the current LUN is not already part + //of the lun list + if (!strncmp(lun_path,dat->lun_list[i], + strlen(dat->lun_list[i]))) { + //LUN already in list..Return + return 0; + } + } + fprintf(stderr, "%s: Copying %s into lun_list[%d]\n", + __func__, + lun_path, + dat->num_valid_entries); + //Add LUN path lun list + strlcpy(dat->lun_list[dat->num_valid_entries], lun_path, + PATH_MAX * sizeof(char)); + dat->num_valid_entries++; + } + return 0; +} + +int prepare_boot_update(enum boot_update_stage stage) +{ + int is_ufs = gpt_utils_is_ufs_device(); + struct stat ufs_dir_stat; + struct update_data data; + int rcode = 0; + uint32_t i = 0; + int is_error = 0; + const char ptn_swap_list[][MAX_GPT_NAME_SIZE] = { PTN_SWAP_LIST }; + //Holds /dev/block/bootdevice/by-name/*bak entry + char buf[PATH_MAX] = {0}; + //Holds the resolved path of the symlink stored in buf + char real_path[PATH_MAX] = {0}; + + if (!is_ufs) { + //emmc device. Just pass in path to mmcblk0 + return prepare_partitions(stage, BLK_DEV_FILE); + } else { + //Now we need to find the list of LUNs over + //which the boot critical images are spread + //and set them up for failsafe updates.To do + //this we find out where the symlinks for the + //each of the paths under + ///dev/block/bootdevice/by-name/PTN_SWAP_LIST + //actually point to. + fprintf(stderr, "%s: Running on a UFS device\n", + __func__); + memset(&data, '\0', sizeof(struct update_data)); + for (i=0; i < ARRAY_SIZE(ptn_swap_list); i++) { + //XBL on UFS does not follow the convention + //of being loaded based on well known GUID'S. + //We take care of switching the UFS boot LUN + //explicitly later on. + if (!strncmp(ptn_swap_list[i],PTN_XBL,strlen(PTN_XBL)) + || !strncmp(ptn_swap_list[i],PTN_MULTIIMGOEM,strlen(PTN_MULTIIMGOEM)) + || !strncmp(ptn_swap_list[i],PTN_MULTIIMGQTI,strlen(PTN_MULTIIMGQTI))) + continue; + snprintf(buf, sizeof(buf), + "%s/%sbak", + BOOT_DEV_DIR, + ptn_swap_list[i]); + if (stat(buf, &ufs_dir_stat)) { + continue; + } + if (readlink(buf, real_path, sizeof(real_path) - 1) < 0) + { + fprintf(stderr, "%s: readlink error. Skipping %s", + __func__, + strerror(errno)); + } else { + if(strlen(real_path) < PATH_TRUNCATE_LOC + 1){ + fprintf(stderr, "Unknown path.Skipping :%s:\n", + real_path); + } else { + real_path[PATH_TRUNCATE_LOC] = '\0'; + add_lun_to_update_list(real_path, &data); + } + } + memset(buf, '\0', sizeof(buf)); + memset(real_path, '\0', sizeof(real_path)); + } + for (i=0; i < data.num_valid_entries; i++) { + fprintf(stderr, "%s: Preparing %s for update stage %d\n", + __func__, + data.lun_list[i], + stage); + rcode = prepare_partitions(stage, data.lun_list[i]); + if (rcode != 0) + { + fprintf(stderr, "%s: Failed to prepare %s.Continuing..\n", + __func__, + data.lun_list[i]); + is_error = 1; + } + } + } + if (is_error) + return -1; + return 0; +} + +//Given a parttion name(eg: rpm) get the path to the block device that +//represents the GPT disk the partition resides on. In the case of emmc it +//would be the default emmc dev(/dev/block/mmcblk0). In the case of UFS we look +//through the /dev/block/bootdevice/by-name/ tree for partname, and resolve +//the path to the LUN from there. +static int get_dev_path_from_partition_name(const char *partname, + char *buf, + size_t buflen) +{ + struct stat st; + char path[PATH_MAX] = {0}; + if (!partname || !buf || buflen < ((PATH_TRUNCATE_LOC) + 1)) { + ALOGE("%s: Invalid argument", __func__); + goto error; + } + if (gpt_utils_is_ufs_device()) { + //Need to find the lun that holds partition partname + snprintf(path, sizeof(path), + "%s/%s", + BOOT_DEV_DIR, + partname); + if (stat(path, &st)) { + goto error; + } + if (readlink(path, buf, buflen) < 0) + { + goto error; + } else { + buf[PATH_TRUNCATE_LOC] = '\0'; + } + } else { + snprintf(buf, buflen, BLK_DEV_FILE); + } + return 0; + +error: + return -1; +} + +int gpt_utils_get_partition_map(vector& ptn_list, + map>& partition_map) { + char devpath[PATH_MAX] = {'\0'}; + map>::iterator it; + if (ptn_list.size() < 1) { + fprintf(stderr, "%s: Invalid ptn list\n", __func__); + goto error; + } + //Go through the passed in list + for (uint32_t i = 0; i < ptn_list.size(); i++) + { + //Key in the map is the path to the device that holds the + //partition + if (get_dev_path_from_partition_name(ptn_list[i].c_str(), + devpath, + sizeof(devpath))) { + //Not necessarily an error. The partition may just + //not be present. + continue; + } + string path = devpath; + it = partition_map.find(path); + if (it != partition_map.end()) { + it->second.push_back(ptn_list[i]); + } else { + vector str_vec; + str_vec.push_back( ptn_list[i]); + partition_map.insert(pair> + (path, str_vec)); + } + memset(devpath, '\0', sizeof(devpath)); + } + return 0; +error: + return -1; +} + +//Get the block size of the disk represented by decsriptor fd +static uint32_t gpt_get_block_size(int fd) +{ + uint32_t block_size = 0; + if (fd < 0) { + ALOGE("%s: invalid descriptor", + __func__); + goto error; + } + if (ioctl(fd, BLKSSZGET, &block_size) != 0) { + ALOGE("%s: Failed to get GPT dev block size : %s", + __func__, + strerror(errno)); + goto error; + } + return block_size; +error: + return 0; +} + +//Write the GPT header present in the passed in buffer back to the +//disk represented by fd +static int gpt_set_header(uint8_t *gpt_header, int fd, + enum gpt_instance instance) +{ + uint32_t block_size = 0; + off64_t gpt_header_offset = 0; + if (!gpt_header || fd < 0) { + ALOGE("%s: Invalid arguments", + __func__); + goto error; + } + block_size = gpt_get_block_size(fd); + if (block_size == 0) { + ALOGE("%s: Failed to get block size", __func__); + goto error; + } + if (instance == PRIMARY_GPT) + gpt_header_offset = block_size; + else + gpt_header_offset = lseek64(fd, 0, SEEK_END) - block_size; + if (gpt_header_offset <= 0) { + ALOGE("%s: Failed to get gpt header offset",__func__); + goto error; + } + if (blk_rw(fd, 1, gpt_header_offset, gpt_header, block_size)) { + ALOGE("%s: Failed to write back GPT header", __func__); + goto error; + } + return 0; +error: + return -1; +} + +//Read out the GPT header for the disk that contains the partition partname +static uint8_t* gpt_get_header(const char *partname, enum gpt_instance instance) +{ + uint8_t* hdr = NULL; + char devpath[PATH_MAX] = {0}; + int64_t hdr_offset = 0; + uint32_t block_size = 0; + int fd = -1; + if (!partname) { + ALOGE("%s: Invalid partition name", __func__); + goto error; + } + if (get_dev_path_from_partition_name(partname, devpath, sizeof(devpath)) + != 0) { + ALOGE("%s: Failed to resolve path for %s", + __func__, + partname); + goto error; + } + fd = open(devpath, O_RDWR); + if (fd < 0) { + ALOGE("%s: Failed to open %s : %s", + __func__, + devpath, + strerror(errno)); + goto error; + } + block_size = gpt_get_block_size(fd); + if (block_size == 0) + { + ALOGE("%s: Failed to get gpt block size for %s", + __func__, + partname); + goto error; + } + + hdr = (uint8_t*)malloc(block_size); + if (!hdr) { + ALOGE("%s: Failed to allocate memory for gpt header", + __func__); + } + if (instance == PRIMARY_GPT) + hdr_offset = block_size; + else { + hdr_offset = lseek64(fd, 0, SEEK_END) - block_size; + } + if (hdr_offset < 0) { + ALOGE("%s: Failed to get gpt header offset", + __func__); + goto error; + } + if (blk_rw(fd, 0, hdr_offset, hdr, block_size)) { + ALOGE("%s: Failed to read GPT header from device", + __func__); + goto error; + } + close(fd); + return hdr; +error: + if (fd >= 0) + close(fd); + if (hdr) + free(hdr); + return NULL; +} + +//Returns the partition entry array based on the +//passed in buffer which contains the gpt header. +//The fd here is the descriptor for the 'disk' which +//holds the partition +static uint8_t* gpt_get_pentry_arr(uint8_t *hdr, int fd) +{ + uint64_t pentries_start = 0; + uint32_t pentry_size = 0; + uint32_t block_size = 0; + uint32_t pentries_arr_size = 0; + uint8_t *pentry_arr = NULL; + int rc = 0; + if (!hdr) { + ALOGE("%s: Invalid header", __func__); + goto error; + } + if (fd < 0) { + ALOGE("%s: Invalid fd", __func__); + goto error; + } + block_size = gpt_get_block_size(fd); + if (!block_size) { + ALOGE("%s: Failed to get gpt block size for", + __func__); + goto error; + } + pentries_start = GET_8_BYTES(hdr + PENTRIES_OFFSET) * block_size; + pentry_size = GET_4_BYTES(hdr + PENTRY_SIZE_OFFSET); + pentries_arr_size = + GET_4_BYTES(hdr + PARTITION_COUNT_OFFSET) * pentry_size; + pentry_arr = (uint8_t*)calloc(1, pentries_arr_size); + if (!pentry_arr) { + ALOGE("%s: Failed to allocate memory for partition array", + __func__); + goto error; + } + rc = blk_rw(fd, 0, + pentries_start, + pentry_arr, + pentries_arr_size); + if (rc) { + ALOGE("%s: Failed to read partition entry array", + __func__); + goto error; + } + return pentry_arr; +error: + if (pentry_arr) + free(pentry_arr); + return NULL; +} + +static int gpt_set_pentry_arr(uint8_t *hdr, int fd, uint8_t* arr) +{ + uint32_t block_size = 0; + uint64_t pentries_start = 0; + uint32_t pentry_size = 0; + uint32_t pentries_arr_size = 0; + int rc = 0; + if (!hdr || fd < 0 || !arr) { + ALOGE("%s: Invalid argument", __func__); + goto error; + } + block_size = gpt_get_block_size(fd); + if (!block_size) { + ALOGE("%s: Failed to get gpt block size for", + __func__); + goto error; + } + pentries_start = GET_8_BYTES(hdr + PENTRIES_OFFSET) * block_size; + pentry_size = GET_4_BYTES(hdr + PENTRY_SIZE_OFFSET); + pentries_arr_size = + GET_4_BYTES(hdr + PARTITION_COUNT_OFFSET) * pentry_size; + rc = blk_rw(fd, 1, + pentries_start, + arr, + pentries_arr_size); + if (rc) { + ALOGE("%s: Failed to read partition entry array", + __func__); + goto error; + } + return 0; +error: + return -1; +} + + + +//Allocate a handle used by calls to the "gpt_disk" api's +struct gpt_disk * gpt_disk_alloc() +{ + struct gpt_disk *disk; + disk = (struct gpt_disk *)malloc(sizeof(struct gpt_disk)); + if (!disk) { + ALOGE("%s: Failed to allocate memory", __func__); + goto end; + } + memset(disk, 0, sizeof(struct gpt_disk)); +end: + return disk; +} + +//Free previously allocated/initialized handle +void gpt_disk_free(struct gpt_disk *disk) +{ + if (!disk) + return; + if (disk->hdr) + free(disk->hdr); + if (disk->hdr_bak) + free(disk->hdr_bak); + if (disk->pentry_arr) + free(disk->pentry_arr); + if (disk->pentry_arr_bak) + free(disk->pentry_arr_bak); + free(disk); + return; +} + +//fills up the passed in gpt_disk struct with information about the +//disk represented by path dev. Returns 0 on success and -1 on error. +int gpt_disk_get_disk_info(const char *dev, struct gpt_disk *dsk) +{ + + struct gpt_disk *disk = NULL; + int fd = -1; + uint32_t gpt_header_size = 0; + uint32_t crc_zero; + + crc_zero = crc32(0L, Z_NULL, 0); + if (!dsk || !dev) { + ALOGE("%s: Invalid arguments", __func__); + goto error; + } + disk = dsk; + disk->hdr = gpt_get_header(dev, PRIMARY_GPT); + if (!disk->hdr) { + ALOGE("%s: Failed to get primary header", __func__); + goto error; + } + gpt_header_size = GET_4_BYTES(disk->hdr + HEADER_SIZE_OFFSET); + disk->hdr_crc = crc32(crc_zero, disk->hdr, gpt_header_size); + disk->hdr_bak = gpt_get_header(dev, SECONDARY_GPT); + if (!disk->hdr_bak) { + ALOGE("%s: Failed to get backup header", __func__); + goto error; + } + disk->hdr_bak_crc = crc32(crc_zero, disk->hdr_bak, gpt_header_size); + + //Descriptor for the block device. We will use this for further + //modifications to the partition table + if (get_dev_path_from_partition_name(dev, + disk->devpath, + sizeof(disk->devpath)) != 0) { + ALOGE("%s: Failed to resolve path for %s", + __func__, + dev); + goto error; + } + fd = open(disk->devpath, O_RDWR); + if (fd < 0) { + ALOGE("%s: Failed to open %s: %s", + __func__, + disk->devpath, + strerror(errno)); + goto error; + } + disk->pentry_arr = gpt_get_pentry_arr(disk->hdr, fd); + if (!disk->pentry_arr) { + ALOGE("%s: Failed to obtain partition entry array", + __func__); + goto error; + } + disk->pentry_arr_bak = gpt_get_pentry_arr(disk->hdr_bak, fd); + if (!disk->pentry_arr_bak) { + ALOGE("%s: Failed to obtain backup partition entry array", + __func__); + goto error; + } + disk->pentry_size = GET_4_BYTES(disk->hdr + PENTRY_SIZE_OFFSET); + disk->pentry_arr_size = + GET_4_BYTES(disk->hdr + PARTITION_COUNT_OFFSET) * + disk->pentry_size; + disk->pentry_arr_crc = GET_4_BYTES(disk->hdr + PARTITION_CRC_OFFSET); + disk->pentry_arr_bak_crc = GET_4_BYTES(disk->hdr_bak + + PARTITION_CRC_OFFSET); + disk->block_size = gpt_get_block_size(fd); + close(fd); + disk->is_initialized = GPT_DISK_INIT_MAGIC; + return 0; +error: + if (fd >= 0) + close(fd); + return -1; +} + +//Get pointer to partition entry from a allocated gpt_disk structure +uint8_t* gpt_disk_get_pentry(struct gpt_disk *disk, + const char *partname, + enum gpt_instance instance) +{ + uint8_t *ptn_arr = NULL; + if (!disk || !partname || disk->is_initialized != GPT_DISK_INIT_MAGIC) { + ALOGE("%s: Invalid argument",__func__); + goto error; + } + ptn_arr = (instance == PRIMARY_GPT) ? + disk->pentry_arr : disk->pentry_arr_bak; + return (gpt_pentry_seek(partname, ptn_arr, + ptn_arr + disk->pentry_arr_size , + disk->pentry_size)); +error: + return NULL; +} + +//Update CRC values for the various components of the gpt_disk +//structure. This function should be called after any of the fields +//have been updated before the structure contents are written back to +//disk. +int gpt_disk_update_crc(struct gpt_disk *disk) +{ + uint32_t gpt_header_size = 0; + uint32_t crc_zero; + crc_zero = crc32(0L, Z_NULL, 0); + if (!disk || (disk->is_initialized != GPT_DISK_INIT_MAGIC)) { + ALOGE("%s: invalid argument", __func__); + goto error; + } + //Recalculate the CRC of the primary partiton array + disk->pentry_arr_crc = crc32(crc_zero, + disk->pentry_arr, + disk->pentry_arr_size); + //Recalculate the CRC of the backup partition array + disk->pentry_arr_bak_crc = crc32(crc_zero, + disk->pentry_arr_bak, + disk->pentry_arr_size); + //Update the partition CRC value in the primary GPT header + PUT_4_BYTES(disk->hdr + PARTITION_CRC_OFFSET, disk->pentry_arr_crc); + //Update the partition CRC value in the backup GPT header + PUT_4_BYTES(disk->hdr_bak + PARTITION_CRC_OFFSET, + disk->pentry_arr_bak_crc); + //Update the CRC value of the primary header + gpt_header_size = GET_4_BYTES(disk->hdr + HEADER_SIZE_OFFSET); + //Header CRC is calculated with its own CRC field set to 0 + PUT_4_BYTES(disk->hdr + HEADER_CRC_OFFSET, 0); + PUT_4_BYTES(disk->hdr_bak + HEADER_CRC_OFFSET, 0); + disk->hdr_crc = crc32(crc_zero, disk->hdr, gpt_header_size); + disk->hdr_bak_crc = crc32(crc_zero, disk->hdr_bak, gpt_header_size); + PUT_4_BYTES(disk->hdr + HEADER_CRC_OFFSET, disk->hdr_crc); + PUT_4_BYTES(disk->hdr_bak + HEADER_CRC_OFFSET, disk->hdr_bak_crc); + return 0; +error: + return -1; +} + +//Write the contents of struct gpt_disk back to the actual disk +int gpt_disk_commit(struct gpt_disk *disk) +{ + int fd = -1; + if (!disk || (disk->is_initialized != GPT_DISK_INIT_MAGIC)){ + ALOGE("%s: Invalid args", __func__); + goto error; + } + fd = open(disk->devpath, O_RDWR | O_DSYNC); + if (fd < 0) { + ALOGE("%s: Failed to open %s: %s", + __func__, + disk->devpath, + strerror(errno)); + goto error; + } + //Write the primary header + if(gpt_set_header(disk->hdr, fd, PRIMARY_GPT) != 0) { + ALOGE("%s: Failed to update primary GPT header", + __func__); + goto error; + } + //Write back the primary partition array + if (gpt_set_pentry_arr(disk->hdr, fd, disk->pentry_arr)) { + ALOGE("%s: Failed to write primary GPT partition arr", + __func__); + goto error; + } + //Write back the secondary header + if(gpt_set_header(disk->hdr_bak, fd, SECONDARY_GPT) != 0) { + ALOGE("%s: Failed to update secondary GPT header", + __func__); + goto error; + } + //Write back the secondary partition array + if (gpt_set_pentry_arr(disk->hdr_bak, fd, disk->pentry_arr_bak)) { + ALOGE("%s: Failed to write secondary GPT partition arr", + __func__); + goto error; + } + fsync(fd); + close(fd); + return 0; +error: + if (fd >= 0) + close(fd); + return -1; +} diff --git a/gpt-utils/gpt-utils.h b/gpt-utils/gpt-utils.h new file mode 100755 index 0000000..c863c3f --- /dev/null +++ b/gpt-utils/gpt-utils.h @@ -0,0 +1,195 @@ +/* + * Copyright (c) 2013,2016,2020 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. + */ + +#ifndef __GPT_UTILS_H__ +#define __GPT_UTILS_H__ +#include +#include +#include +#ifdef __cplusplus +extern "C" { +#endif +#include +#include +/****************************************************************************** + * GPT HEADER DEFINES + ******************************************************************************/ +#define GPT_SIGNATURE "EFI PART" +#define HEADER_SIZE_OFFSET 12 +#define HEADER_CRC_OFFSET 16 +#define PRIMARY_HEADER_OFFSET 24 +#define BACKUP_HEADER_OFFSET 32 +#define FIRST_USABLE_LBA_OFFSET 40 +#define LAST_USABLE_LBA_OFFSET 48 +#define PENTRIES_OFFSET 72 +#define PARTITION_COUNT_OFFSET 80 +#define PENTRY_SIZE_OFFSET 84 +#define PARTITION_CRC_OFFSET 88 + +#define TYPE_GUID_OFFSET 0 +#define TYPE_GUID_SIZE 16 +#define PTN_ENTRY_SIZE 128 +#define UNIQUE_GUID_OFFSET 16 +#define FIRST_LBA_OFFSET 32 +#define LAST_LBA_OFFSET 40 +#define ATTRIBUTE_FLAG_OFFSET 48 +#define PARTITION_NAME_OFFSET 56 +#define MAX_GPT_NAME_SIZE 72 + +/****************************************************************************** + * AB RELATED DEFINES + ******************************************************************************/ +//Bit 48 onwords in the attribute field are the ones where we are allowed to +//store our AB attributes. +#define AB_FLAG_OFFSET (ATTRIBUTE_FLAG_OFFSET + 6) +#define GPT_DISK_INIT_MAGIC 0xABCD +#define AB_PARTITION_ATTR_SLOT_ACTIVE (0x1<<2) +#define AB_PARTITION_ATTR_BOOT_SUCCESSFUL (0x1<<6) +#define AB_PARTITION_ATTR_UNBOOTABLE (0x1<<7) +#define AB_SLOT_ACTIVE_VAL 0x3F +#define AB_SLOT_INACTIVE_VAL 0x0 +#define AB_SLOT_ACTIVE 1 +#define AB_SLOT_INACTIVE 0 +#define AB_SLOT_A_SUFFIX "_a" +#define AB_SLOT_B_SUFFIX "_b" +#define PTN_XBL "xbl" +#define PTN_XBL_CFG "xbl_config" +#define PTN_MULTIIMGOEM "multiimgoem" +#define PTN_MULTIIMGQTI "multiimgqti" +#define PTN_SWAP_LIST PTN_XBL, PTN_XBL_CFG, PTN_MULTIIMGOEM, PTN_MULTIIMGQTI, "sbl1", "rpm", "tz", "aboot", "abl", "hyp", "lksecapp", "keymaster", "cmnlib", "cmnlib32", "cmnlib64", "pmic", "apdp", "devcfg", "hosd", "keystore", "msadp", "mdtp", "mdtpsecapp", "dsp", "aop", "qupfw", "vbmeta", "dtbo", "imagefv", "ImageFv", "uefisecapp", "vm-bootsys", "shrm", "cpucp", "featenabler", "vbmeta_system" +#define AB_PTN_LIST PTN_SWAP_LIST, "boot", "vendor_boot", "vendor_dlkm", "system", "system_ext", "product", "vendor", "modem", "bluetooth" +#define BOOT_DEV_DIR "/dev/block/bootdevice/by-name" + +/****************************************************************************** + * HELPER MACROS + ******************************************************************************/ +#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) +/****************************************************************************** + * TYPES + ******************************************************************************/ +enum boot_update_stage { + UPDATE_MAIN = 1, + UPDATE_BACKUP, + UPDATE_FINALIZE +}; + +enum gpt_instance { + PRIMARY_GPT = 0, + SECONDARY_GPT +}; + +enum boot_chain { + NORMAL_BOOT = 0, + BACKUP_BOOT +}; + +struct gpt_disk { + //GPT primary header + uint8_t *hdr; + //primary header crc + uint32_t hdr_crc; + //GPT backup header + uint8_t *hdr_bak; + //backup header crc + uint32_t hdr_bak_crc; + //Partition entries array + uint8_t *pentry_arr; + //Partition entries array for backup table + uint8_t *pentry_arr_bak; + //Size of the pentry array + uint32_t pentry_arr_size; + //Size of each element in the pentry array + uint32_t pentry_size; + //CRC of the partition entry array + uint32_t pentry_arr_crc; + //CRC of the backup partition entry array + uint32_t pentry_arr_bak_crc; + //Path to block dev representing the disk + char devpath[PATH_MAX]; + //Block size of disk + uint32_t block_size; + uint32_t is_initialized; +}; + +/****************************************************************************** + * FUNCTION PROTOTYPES + ******************************************************************************/ +int prepare_boot_update(enum boot_update_stage stage); +//GPT disk methods +struct gpt_disk* gpt_disk_alloc(); +//Free previously allocated gpt_disk struct +void gpt_disk_free(struct gpt_disk *disk); +//Get the details of the disk holding the partition whose name +//is passed in via dev +int gpt_disk_get_disk_info(const char *dev, struct gpt_disk *disk); + +//Get pointer to partition entry from a allocated gpt_disk structure +uint8_t* gpt_disk_get_pentry(struct gpt_disk *disk, + const char *partname, + enum gpt_instance instance); + +//Update the crc fields of the modified disk structure +int gpt_disk_update_crc(struct gpt_disk *disk); + +//Write the contents of struct gpt_disk back to the actual disk +int gpt_disk_commit(struct gpt_disk *disk); + +//Return if the current device is UFS based or not +int gpt_utils_is_ufs_device(); + +//Swtich betwieen using either the primary or the backup +//boot LUN for boot. This is required since UFS boot partitions +//cannot have a backup GPT which is what we use for failsafe +//updates of the other 'critical' partitions. This function will +//not be invoked for emmc targets and on UFS targets is only required +//to be invoked for XBL. +// +//The algorithm to do this is as follows: +//- Find the real block device(eg: /dev/block/sdb) that corresponds +// to the /dev/block/bootdevice/by-name/xbl(bak) symlink +// +//- Once we have the block device 'node' name(sdb in the above example) +// use this node to to locate the scsi generic device that represents +// it by checking the file /sys/block/sdb/device/scsi_generic/sgY +// +//- Once we locate sgY we call the query ioctl on /dev/sgy to switch +//the boot lun to either LUNA or LUNB +int gpt_utils_set_xbl_boot_partition(enum boot_chain chain); + +//Given a vector of partition names as a input and a reference to a map, +//populate the map to indicate which physical disk each of the partitions +//sits on. The key in the map is the path to the block device where the +//partiton lies and the value is a vector of strings indicating which of +//the passed in partiton names sits on that device. +int gpt_utils_get_partition_map(std::vector& partition_list, + std::map>& partition_map); +#ifdef __cplusplus +} +#endif +#endif /* __GPT_UTILS_H__ */ diff --git a/gpt-utils/recovery-ufs-bsg.cpp b/gpt-utils/recovery-ufs-bsg.cpp new file mode 100755 index 0000000..4249aa6 --- /dev/null +++ b/gpt-utils/recovery-ufs-bsg.cpp @@ -0,0 +1,255 @@ +/* + * Copyright (c) 2020 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. + */ + + +#define LOG_TAG "recovery_ufs" + +#include "recovery-ufs-bsg.h" + +#ifndef _BSG_FRAMEWORK_KERNEL_HEADERS +#ifndef _GENERIC_KERNEL_HEADERS +#include +#include +#endif +#endif + +//Size of the buffer that needs to be passed to the UFS ioctl +#define UFS_ATTR_DATA_SIZE 32 + +#ifdef _BSG_FRAMEWORK_KERNEL_HEADERS +static int get_ufs_bsg_dev(void) +{ + DIR *dir; + struct dirent *ent; + int ret = -ENODEV; + + if ((dir = opendir ("/dev")) != NULL) { + /* read all the files and directories within directory */ + while ((ent = readdir(dir)) != NULL) { + if (!strcmp(ent->d_name, "ufs-bsg") || + !strcmp(ent->d_name, "ufs-bsg0")) { + snprintf(ufs_bsg_dev, FNAME_SZ, "/dev/%s", ent->d_name); + ret = 0; + break; + } + } + if (ret) + ALOGE("could not find the ufs-bsg dev\n"); + closedir (dir); + } else { + /* could not open directory */ + ALOGE("could not open /dev (error no: %d)\n", errno); + ret = -EINVAL; + } + + return ret; +} + +int ufs_bsg_dev_open(void) +{ + int ret; + if (!fd_ufs_bsg) { + fd_ufs_bsg = open(ufs_bsg_dev, O_RDWR); + ret = errno; + if (fd_ufs_bsg < 0) { + ALOGE("Unable to open %s (error no: %d)", + ufs_bsg_dev, errno); + fd_ufs_bsg = 0; + return ret; + } + } + return 0; +} + +void ufs_bsg_dev_close(void) +{ + if (fd_ufs_bsg) { + close(fd_ufs_bsg); + fd_ufs_bsg = 0; + } +} + +static int ufs_bsg_ioctl(int fd, struct ufs_bsg_request *req, + struct ufs_bsg_reply *rsp, __u8 *buf, __u32 buf_len, + enum bsg_ioctl_dir dir) +{ + int ret; + struct sg_io_v4 sg_io{}; + + sg_io.guard = 'Q'; + sg_io.protocol = BSG_PROTOCOL_SCSI; + sg_io.subprotocol = BSG_SUB_PROTOCOL_SCSI_TRANSPORT; + sg_io.request_len = sizeof(*req); + sg_io.request = (__u64)req; + sg_io.response = (__u64)rsp; + sg_io.max_response_len = sizeof(*rsp); + if (dir == BSG_IOCTL_DIR_FROM_DEV) { + sg_io.din_xfer_len = buf_len; + sg_io.din_xferp = (__u64)(buf); + } else { + sg_io.dout_xfer_len = buf_len; + sg_io.dout_xferp = (__u64)(buf); + } + + ret = ioctl(fd, SG_IO, &sg_io); + if (ret) + ALOGE("%s: Error from sg_io ioctl (return value: %d, error no: %d, reply result from LLD: %d\n)", + __func__, ret, errno, rsp->result); + + if (sg_io.info || rsp->result) { + ALOGE("%s: Error from sg_io info (check sg info: device_status: 0x%x, transport_status: 0x%x, driver_status: 0x%x, reply result from LLD: %d\n)", + __func__, sg_io.device_status, sg_io.transport_status, + sg_io.driver_status, rsp->result); + ret = -EAGAIN; + } + + return ret; +} + +static void compose_ufs_bsg_query_req(struct ufs_bsg_request *req, __u8 func, + __u8 opcode, __u8 idn, __u8 index, __u8 sel, + __u16 length) +{ + struct utp_upiu_header *hdr = &req->upiu_req.header; + struct utp_upiu_query *qr = &req->upiu_req.qr; + + req->msgcode = UTP_UPIU_QUERY_REQ; + hdr->dword_0 = DWORD(UTP_UPIU_QUERY_REQ, 0, 0, 0); + hdr->dword_1 = DWORD(0, func, 0, 0); + hdr->dword_2 = DWORD(0, 0, length >> 8, (__u8)length); + qr->opcode = opcode; + qr->idn = idn; + qr->index = index; + qr->selector = sel; + qr->length = htobe16(length); +} + + +static int ufs_query_attr(int fd, __u32 value, + __u8 func, __u8 opcode, __u8 idn, + __u8 index, __u8 sel) +{ + struct ufs_bsg_request req{}; + struct ufs_bsg_reply rsp{}; + enum bsg_ioctl_dir dir = BSG_IOCTL_DIR_FROM_DEV; + int ret = 0; + + if (opcode == QUERY_REQ_OP_WRITE_DESC || opcode == QUERY_REQ_OP_WRITE_ATTR) + dir = BSG_IOCTL_DIR_TO_DEV; + + req.upiu_req.qr.value = htobe32(value); + + compose_ufs_bsg_query_req(&req, func, opcode, idn, index, sel, 0); + + ret = ufs_bsg_ioctl(fd, &req, &rsp, 0, 0, dir); + if (ret) + ALOGE("%s: Error from ufs_bsg_ioctl (return value: %d, error no: %d\n)", + __func__, ret, errno); + + return ret; +} + +int32_t set_boot_lun(char *sg_dev __unused,uint8_t lun_id) +{ + int32_t ret; + __u32 boot_lun_id = lun_id; + + ret = get_ufs_bsg_dev(); + if (ret) + return ret; + ALOGV("Found the ufs bsg dev: %s\n", ufs_bsg_dev); + + ret = ufs_bsg_dev_open(); + if (ret) + return ret; + ALOGV("Opened ufs bsg dev: %s\n", ufs_bsg_dev); + + ret = ufs_query_attr(fd_ufs_bsg, boot_lun_id, QUERY_REQ_FUNC_STD_WRITE, + QUERY_REQ_OP_WRITE_ATTR, QUERY_ATTR_IDN_BOOT_LU_EN, 0, 0); + if (ret) { + ALOGE("Error requesting ufs attr idn %d via query ioctl (return value: %d, error no: %d)", + QUERY_ATTR_IDN_BOOT_LU_EN, ret, errno); + goto out; + } +out: + ufs_bsg_dev_close(); + return ret; +} +#endif + +#ifndef _BSG_FRAMEWORK_KERNEL_HEADERS +int32_t set_boot_lun(char *sg_dev, uint8_t boot_lun_id) +{ +#ifndef _GENERIC_KERNEL_HEADERS + int fd = -1; + int rc; + struct ufs_ioctl_query_data *data = NULL; + size_t ioctl_data_size = sizeof(struct ufs_ioctl_query_data) + UFS_ATTR_DATA_SIZE; + + data = (struct ufs_ioctl_query_data*)malloc(ioctl_data_size); + if (!data) { + fprintf(stderr, "%s: Failed to alloc query data struct\n", + __func__); + goto error; + } + memset(data, 0, ioctl_data_size); + data->opcode = UPIU_QUERY_OPCODE_WRITE_ATTR; + data->idn = QUERY_ATTR_IDN_BOOT_LU_EN; + data->buf_size = UFS_ATTR_DATA_SIZE; + data->buffer[0] = boot_lun_id; + fd = open(sg_dev, O_RDWR); + if (fd < 0) { + fprintf(stderr, "%s: Failed to open %s(%s)\n", + __func__, + sg_dev, + strerror(errno)); + goto error; + } + rc = ioctl(fd, UFS_IOCTL_QUERY, data); + if (rc) { + fprintf(stderr, "%s: UFS query ioctl failed(%s)\n", + __func__, + strerror(errno)); + goto error; + } + close(fd); + free(data); + return 0; +error: + if (fd >= 0) + close(fd); + if (data) + free(data); + return -1; +#else + return 0; +#endif +} +#endif + diff --git a/gpt-utils/recovery-ufs-bsg.h b/gpt-utils/recovery-ufs-bsg.h new file mode 100755 index 0000000..fafea5f --- /dev/null +++ b/gpt-utils/recovery-ufs-bsg.h @@ -0,0 +1,131 @@ +#ifndef __RECOVERY_UFS_BSG_H__ +#define __RECOVERY_UFS_BSG_H__ + +/* + * Copyright (c) 2020 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. + */ + + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef ANDROID +#include "cutils/log.h" +#endif + +#ifdef OE +#include +#define LOGI(...) syslog(LOG_NOTICE, "INFO:" __VA_ARGS__) +#define LOGV(...) syslog(LOG_NOTICE,"VERB:" __VA_ARGS__) +#define LOGD(...) syslog(LOG_DEBUG,"DBG:" __VA_ARGS__) +#define LOGE(...) syslog(LOG_ERR,"ERR:" __VA_ARGS__) +#define LOGW(...) syslog(LOG_WARNING,"WRN:" __VA_ARGS__) +#define strlcat(d,s,l) snprintf(d+strlen(d),l,"%s",s) +#endif + + + +#define FNAME_SZ 64 + +#define SG_IO 0x2285 + +#define DWORD(b3, b2, b1, b0) htobe32((b3 << 24) | (b2 << 16) |\ + (b1 << 8) | b0) + +/* UFS BSG device nodes */ +char ufs_bsg_dev[FNAME_SZ] = "/dev/ufs-bsg"; + +int fd_ufs_bsg; + +int32_t set_ufs_lun(uint8_t lun_id); + +#ifdef _BSG_FRAMEWORK_KERNEL_HEADERS +/* UPIU Transaction Codes */ +enum { + UTP_UPIU_NOP_OUT = 0x00, + UTP_UPIU_COMMAND = 0x01, + UTP_UPIU_DATA_OUT = 0x02, + UTP_UPIU_TASK_REQ = 0x04, + UTP_UPIU_QUERY_REQ = 0x16, +}; + +/* UPIU Query Function field */ +enum { + QUERY_REQ_FUNC_STD_READ = 0x01, + QUERY_REQ_FUNC_STD_WRITE = 0x81, +}; + +enum query_req_opcode { + QUERY_REQ_OP_READ_DESC = 0x1, + QUERY_REQ_OP_WRITE_DESC = 0x2, + QUERY_REQ_OP_READ_ATTR = 0x3, + QUERY_REQ_OP_WRITE_ATTR = 0x4, + QUERY_REQ_OP_READ_FLAG = 0x5, + QUERY_REQ_OP_SET_FLAG = 0x6, + QUERY_REQ_OP_CLEAR_FLAG = 0x7, + QUERY_REQ_OP_TOGGLE_FLAG = 0x8, +}; + +enum query_desc_idn { + QUERY_DESC_IDN_DEVICE = 0x0, + QUERY_DESC_IDN_UNIT = 0x2, + QUERY_DESC_IDN_GEOMETRY = 0x7, +}; + +enum query_desc_size { + QUERY_DESC_SIZE_DEVICE = 0x40, + QUERY_DESC_SIZE_GEOMETRY = 0x48, + QUERY_DESC_SIZE_UNIT = 0x23, +}; + +enum bsg_ioctl_dir { + BSG_IOCTL_DIR_TO_DEV, + BSG_IOCTL_DIR_FROM_DEV, +}; + +enum query_attr_idn { + QUERY_ATTR_IDN_BOOT_LU_EN = 0x00, + QUERY_ATTR_IDN_RESERVED = 0x01, + QUERY_ATTR_IDN_POWER_MODE = 0x02, + QUERY_ATTR_IDN_ACTIVE_ICC_LVL = 0x03, +}; +#endif /* _BSG_FRAMEWORK_KERNEL_HEADERS */ + +#endif /* __RECOVERY_UFS_BSG_H__ */ diff --git a/prebuilt/kernel b/prebuilt/kernel new file mode 100755 index 0000000..e69de29 diff --git a/prebuilt/kernel-FULL b/prebuilt/kernel-FULL new file mode 100755 index 0000000..b443463 Binary files /dev/null and b/prebuilt/kernel-FULL differ diff --git a/recovery/root/init.recovery.qcom.rc b/recovery/root/init.recovery.qcom.rc new file mode 100644 index 0000000..acd5ac3 --- /dev/null +++ b/recovery/root/init.recovery.qcom.rc @@ -0,0 +1,62 @@ +import /init.recovery.qcom_decrypt.rc + +on early-init + start set_permissive + +on fs + wait /dev/block/platform/soc/${ro.boot.bootdevice} + symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice + + +on property:init.svc.fastbootd=running + # Load prebuild kernel modules in fastboot mode + mount /vendor_dlkm + insmod /vendor/lib/modules/adsp_loader_dlkm.ko + insmod /vendor/lib/modules/bm_adsp_ulog.ko + insmod /vendor/lib/modules/goodix_brl_mmi.ko + insmod /vendor/lib/modules/gpr_dlkm.ko + insmod /vendor/lib/modules/mmi_annotate.ko + insmod /vendor/lib/modules/mmi_info.ko + insmod /vendor/lib/modules/mmi_relay.ko + insmod /vendor/lib/modules/mmi_charger.ko + insmod /vendor/lib/modules/mmi_sys_temp.ko + insmod /vendor/lib/modules/moto_f_mass_storage.ko + insmod /vendor/lib/modules/moto_f_usbnet.ko + insmod /vendor/lib/modules/msm_drm.ko + insmod /vendor/lib/modules/phy-msm-ssusb-qmp.ko + insmod /vendor/lib/modules/qti_glink_charger.ko + insmod /vendor/lib/modules/qpnp_adaptive_charge.ko + insmod /vendor/lib/modules/q6_pdr_dlkm.ko + insmod /vendor/lib/modules/q6_notifier_dlkm.ko + insmod /vendor/lib/modules/qdss_bridge.ko + insmod /vendor/lib/modules/sensors_class.ko + insmod /vendor/lib/modules/snd_event_dlkm.ko + insmod /vendor/lib/modules/spf_core_dlkm.ko + insmod /vendor/lib/modules/ssusb-redriver-ps5169.ko + insmod /vendor/lib/modules/stmicro_mmi.ko + insmod /vendor/lib/modules/sx937x_sar.ko + insmod /vendor/lib/modules/touchscreen_mmi.ko + insmod /vendor/lib/modules/usb_f_qdss.ko + setprop twrp.modules.loaded true + +on post-fs && property:init.svc.fastbootd=stopped + # Trigger loading kernel modules in normal mode + setprop twrp.modules.loaded true + +on property:twrp.modules.loaded=true + # Load kernel modules and ADSP firmware for PMIC + wait /sys/kernel/boot_adsp/boot + start runatboot + wait /sys/class/power_supply/battery + +on post-fs + start boot-hal-1-2 + +on boot + start health-hal-2-1 + +service runatboot /system/bin/runatboot.sh + user root + group root + oneshot + seclabel u:r:recovery:s0 diff --git a/recovery/root/init.recovery.usb.rc b/recovery/root/init.recovery.usb.rc new file mode 100644 index 0000000..d958aaa --- /dev/null +++ b/recovery/root/init.recovery.usb.rc @@ -0,0 +1,193 @@ +on charger + mount configfs none /config + mkdir /config/usb_gadget/g1 0770 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + write /config/usb_gadget/g1/bcdUSB 0x0200 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} + mkdir /config/usb_gadget/g1/functions/mass_storage.0 + mkdir /config/usb_gadget/g1/configs/b.1 0770 + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 + write /config/usb_gadget/g1/configs/b.1/MaxPower 900 + write /config/usb_gadget/g1/strings/0x409/product ${vendor.usb.product_string} + wait /sys/class/udc/${sys.usb.controller} + setprop sys.usb.configfs 1 + setprop vendor.usb.use_ffs_mtp 1 + +on init + setprop sys.usb.configfs 1 + +on property:ro.boot.usbcontroller=* + setprop sys.usb.controller ${ro.boot.usbcontroller} + wait /sys/bus/platform/devices/${ro.boot.usb.dwc3_msm:-a600000.ssusb}/mode + write /sys/bus/platform/devices/${ro.boot.usb.dwc3_msm:-a600000.ssusb}/mode peripheral + wait /sys/class/udc/${ro.boot.usbcontroller} 1 + +on post-fs + mount configfs none /config + mkdir /config/usb_gadget/g1 0770 + mkdir /config/usb_gadget/g2 0770 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + mkdir /config/usb_gadget/g2/strings/0x409 0770 + write /config/usb_gadget/g1/bcdUSB 0x0200 + write /config/usb_gadget/g2/bcdUSB 0x0200 + write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g2/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} + write /config/usb_gadget/g2/strings/0x409/manufacturer ${ro.product.manufacturer} + write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} + write /config/usb_gadget/g2/strings/0x409/product ${ro.product.model} + mkdir /config/usb_gadget/g1/functions/mass_storage.0 + mkdir /config/usb_gadget/g1/functions/mtp.gs0 + mkdir /config/usb_gadget/g1/functions/ffs.adb + mkdir /config/usb_gadget/g1/configs/b.1 0770 + mkdir /config/usb_gadget/g2/configs/b.1 0770 + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 + mkdir /config/usb_gadget/g2/configs/b.1/strings/0x409 0770 + write /config/usb_gadget/g1/configs/b.1/MaxPower 900 + write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1 + write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100" + write /config/usb_gadget/g1/functions/diag.diag/serial ${ro.serialno} + mkdir /dev/usb-ffs 0775 shell system + mkdir /dev/usb-ffs/adb 0770 shell system + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=1000,rmode=0770,fmode=0660 + setprop sys.usb.mtp.device_type 3 + +on post-fs && property:vendor.usb.use_ffs_mtp=1 + mkdir /config/usb_gadget/g1/functions/ffs.mtp + mkdir /dev/usb-ffs/mtp 0770 mtp mtp + mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 + +on boot && property:vendor.usb.use_gadget_hal=1 + setprop sys.usb.configfs 2 + +on property:sys.usb.config=* && property:sys.usb.configfs=2 + setprop vendor.usb.config ${sys.usb.config} + +on property:vendor.usb.config=* && property:sys.usb.configfs=2 + start usbd + +on property:sys.usb.config=none && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/UDC "none" + stop adbd + setprop sys.usb.ffs.ready 0 + write /config/usb_gadget/g1/bDeviceClass 0 + write /config/usb_gadget/g1/bDeviceSubClass 0 + write /config/usb_gadget/g1/bDeviceProtocol 0 + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rmdir /config/usb_gadget/g1/functions/rndis.gs4 + setprop sys.usb.state ${sys.usb.config} + +on property:init.svc.adbd=stopped + setprop sys.usb.ffs.ready 0 + +# +# USB compositions +# +# Following are the triggers to configure various combinations of functions into a USB +# composition. Each correspond to a unique VID/PID. +# +on property:sys.usb.config=* && property:sys.usb.configfs=1 + rm /config/usb_gadget/g1/os_desc/b.1 + +on property:sys.usb.config=none && property:sys.usb.configfs=1 + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + +on property:sys.usb.config=mass_storage && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "msc" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0xF000 + symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb_msc" + rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 + rm /config/usb_gadget/g1/configs/b.1/f3 + rm /config/usb_gadget/g1/configs/b.1/f4 + rm /config/usb_gadget/g1/configs/b.1/f5 + rm /config/usb_gadget/g1/configs/b.1/f6 + rm /config/usb_gadget/g1/configs/b.1/f7 + rm /config/usb_gadget/g1/configs/b.1/f8 + rm /config/usb_gadget/g1/configs/b.1/f9 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + write /config/usb_gadget/g1/idVendor 0x05C6 + write /config/usb_gadget/g1/idProduct 0x9015 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb" + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp" + symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 + start adbd + +on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_adb" + symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x4ee7 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + +on property:sys.usb.config=mtp && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x4ee1 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + +on property:sys.usb.config=mtp && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + +on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x4ee2 + +on property:sys.usb.config=mtp,adb && property:vendor.usb.use_ffs_mtp=1 && property:sys.usb.configfs=1 + symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + diff --git a/recovery/root/system/bin/android.hardware.gatekeeper@1.0-service-qti b/recovery/root/system/bin/android.hardware.gatekeeper@1.0-service-qti new file mode 100755 index 0000000..107465e Binary files /dev/null and b/recovery/root/system/bin/android.hardware.gatekeeper@1.0-service-qti differ diff --git a/recovery/root/system/bin/android.hardware.keymaster@4.0-strongbox-service-qti b/recovery/root/system/bin/android.hardware.keymaster@4.0-strongbox-service-qti new file mode 100755 index 0000000..dab1d33 Binary files /dev/null and b/recovery/root/system/bin/android.hardware.keymaster@4.0-strongbox-service-qti differ diff --git a/recovery/root/system/bin/android.hardware.keymaster@4.1-service-qti b/recovery/root/system/bin/android.hardware.keymaster@4.1-service-qti new file mode 100755 index 0000000..e932ba4 Binary files /dev/null and b/recovery/root/system/bin/android.hardware.keymaster@4.1-service-qti differ diff --git a/recovery/root/system/bin/android.hardware.security.keymint-service-qti b/recovery/root/system/bin/android.hardware.security.keymint-service-qti new file mode 100755 index 0000000..154131a Binary files /dev/null and b/recovery/root/system/bin/android.hardware.security.keymint-service-qti differ diff --git a/recovery/root/system/bin/qseecomd b/recovery/root/system/bin/qseecomd new file mode 100755 index 0000000..bf84b00 Binary files /dev/null and b/recovery/root/system/bin/qseecomd differ diff --git a/recovery/root/system/bin/runatboot.sh b/recovery/root/system/bin/runatboot.sh new file mode 100755 index 0000000..06f945b --- /dev/null +++ b/recovery/root/system/bin/runatboot.sh @@ -0,0 +1,55 @@ +#!/system/bin/sh + +# Set SeLinux Permissions +setenforce 0 + +mount /vendor_dlkm +mount /vendor +modprobe -d /vendor_dlkm/lib/modules /vendor_dlkm/lib/modules/goodix_brl_mmi.ko +modprobe -d /vendor_dlkm/lib/modules /vendor_dlkm/lib/modules/touchscreen_mmi.ko +sleep 1 +if [ $(cat /sys/class/touchscreen/primary/productinfo) == "gt9916S" ] +then +echo 1 > /sys/class/touchscreen/primary/forcereflash +echo goodix-boe-gt9916S-24010501-6597AA91-avatrn.bin > /sys/class/touchscreen/primary/doreflash +echo "Reflashing Firmware..." +echo 0 > /sys/class/touchscreen/primary/forcereflash +fi + +is_fastboot=$(getprop init.svc.fastbootd) +if [ "$is_fastboot" != "running" ]; then + mount /vendor_dlkm + insmod /vendor_dlkm/lib/modules/msm_drm.ko + insmod /vendor_dlkm/lib/modules/mmi_annotate.ko + insmod /vendor_dlkm/lib/modules/mmi_info.ko + insmod /vendor_dlkm/lib/modules/mmi_relay.ko + insmod /vendor_dlkm/lib/modules/mmi_charger.ko + insmod /vendor_dlkm/lib/modules/mmi_sys_temp.ko + insmod /vendor_dlkm/lib/modules/sensors_class.ko + insmod /vendor_dlkm/lib/modules/touchscreen_mmi.ko + insmod /vendor_dlkm/lib/modules/stmicro_mmi.ko + insmod /vendor_dlkm/lib/modules/goodix_brl_mmi.ko + insmod /vendor_dlkm/lib/modules/sx937x_sar.ko + insmod /vendor_dlkm/lib/modules/bm_adsp_ulog.ko + insmod /vendor_dlkm/lib/modules/qti_glink_charger.ko + insmod /vendor_dlkm/lib/modules/qpnp_adaptive_charge.ko + insmod /vendor_dlkm/lib/modules/q6_pdr_dlkm.ko + insmod /vendor_dlkm/lib/modules/q6_notifier_dlkm.ko + insmod /vendor_dlkm/lib/modules/snd_event_dlkm.ko + insmod /vendor_dlkm/lib/modules/gpr_dlkm.ko + insmod /vendor_dlkm/lib/modules/spf_core_dlkm.ko + insmod /vendor_dlkm/lib/modules/adsp_loader_dlkm.ko + insmod /vendor_dlkm/lib/modules/moto_f_mass_storage.ko + insmod /vendor_dlkm/lib/modules/phy-msm-ssusb-qmp.ko + insmod /vendor_dlkm/lib/modules/qdss_bridge.ko + insmod /vendor_dlkm/lib/modules/ssusb-redriver-ps5169.ko + insmod /vendor_dlkm/lib/modules/usb_f_qdss.ko + insmod /vendor_dlkm/lib/modules/moto_f_usbnet.ko +fi + +mkdir /firmware +SLOT=$(getprop ro.boot.slot_suffix) +mount /dev/block/bootdevice/by-name/modem$SLOT /firmware -O ro +echo "1" > /proc/sys/kernel/firmware_config/force_sysfs_fallback +echo "1" > /sys/kernel/boot_adsp/boot +exit 0 diff --git a/recovery/root/system/bin/sec_nvm b/recovery/root/system/bin/sec_nvm new file mode 100755 index 0000000..49c8545 Binary files /dev/null and b/recovery/root/system/bin/sec_nvm differ diff --git a/recovery/root/system/bin/spdaemon b/recovery/root/system/bin/spdaemon new file mode 100755 index 0000000..333cd81 Binary files /dev/null and b/recovery/root/system/bin/spdaemon differ diff --git a/recovery/root/system/bin/vendor.qti.hardware.qteeconnector@1.0-service b/recovery/root/system/bin/vendor.qti.hardware.qteeconnector@1.0-service new file mode 100755 index 0000000..e18df4d Binary files /dev/null and b/recovery/root/system/bin/vendor.qti.hardware.qteeconnector@1.0-service differ diff --git a/recovery/root/system/bin/vendor.qti.hardware.vibrator.service b/recovery/root/system/bin/vendor.qti.hardware.vibrator.service new file mode 100755 index 0000000..a971f75 Binary files /dev/null and b/recovery/root/system/bin/vendor.qti.hardware.vibrator.service differ diff --git a/recovery/root/system/bin/vendor.qti.spu@1.1-service b/recovery/root/system/bin/vendor.qti.spu@1.1-service new file mode 100755 index 0000000..51722f2 Binary files /dev/null and b/recovery/root/system/bin/vendor.qti.spu@1.1-service differ diff --git a/recovery/root/system/bin/vendor.qti.spu@2.0-service b/recovery/root/system/bin/vendor.qti.spu@2.0-service new file mode 100755 index 0000000..d36607f Binary files /dev/null and b/recovery/root/system/bin/vendor.qti.spu@2.0-service differ diff --git a/recovery/root/system/etc/event-log-tags b/recovery/root/system/etc/event-log-tags new file mode 100644 index 0000000..2c01f6c --- /dev/null +++ b/recovery/root/system/etc/event-log-tags @@ -0,0 +1,507 @@ +42 answer (to life the universe etc|3) +314 pi +1003 auditd (avc|3) +1004 chatty (dropped|3) +1005 tag_def (tag|1),(name|3),(format|3) +1006 liblog (dropped|1) +2718 e +2719 configuration_changed (config mask|1|5) +2720 sync (id|3),(event|1|5),(source|1|5),(account|1|5) +2721 cpu (total|1|6),(user|1|6),(system|1|6),(iowait|1|6),(irq|1|6),(softirq|1|6) +2722 battery_level (level|1|6),(voltage|1|1),(temperature|1|1) +2723 battery_status (status|1|5),(health|1|5),(present|1|5),(plugged|1|5),(technology|3) +2724 power_sleep_requested (wakeLocksCleared|1|1) +2725 power_screen_broadcast_send (wakelockCount|1|1) +2726 power_screen_broadcast_done (on|1|5),(broadcastDuration|2|3),(wakelockCount|1|1) +2727 power_screen_broadcast_stop (which|1|5),(wakelockCount|1|1) +2728 power_screen_state (offOrOn|1|5),(becauseOfUser|1|5),(totalTouchDownTime|2|3),(touchCycles|1|1),(latency|1|3) +2729 power_partial_wake_state (releasedorAcquired|1|5),(tag|3) +2730 battery_discharge (duration|2|3),(minLevel|1|6),(maxLevel|1|6) +2731 power_soft_sleep_requested (savedwaketimems|2) +2732 storaged_disk_stats (type|3),(start_time|2|3),(end_time|2|3),(read_ios|2|1),(read_merges|2|1),(read_sectors|2|1),(read_ticks|2|3),(write_ios|2|1),(write_merges|2|1),(write_sectors|2|1),(write_ticks|2|3),(o_in_flight|2|1),(io_ticks|2|3),(io_in_queue|2|1) +2733 storaged_emmc_info (mmc_ver|3),(eol|1),(lifetime_a|1),(lifetime_b|1) +2737 thermal_changed (name|3),(type|1|5),(temperature|5),(sensor_status|1|5),(previous_system_status|1|5) +2739 battery_saver_mode (fullPrevOffOrOn|1|5),(adaptivePrevOffOrOn|1|5),(fullNowOffOrOn|1|5),(adaptiveNowOffOrOn|1|5),(interactive|1|5),(features|3|5),(reason|1|5) +2740 location_controller +2741 force_gc (reason|3) +2742 tickle (authority|3) +2747 contacts_aggregation (aggregation time|2|3), (count|1|1) +2748 cache_file_deleted (path|3) +2749 storage_state (uuid|3),(old_state|1),(new_state|1),(usable|2),(total|2) +2750 notification_enqueue (uid|1|5),(pid|1|5),(pkg|3),(id|1|5),(tag|3),(userid|1|5),(notification|3),(status|1) +2751 notification_cancel (uid|1|5),(pid|1|5),(pkg|3),(id|1|5),(tag|3),(userid|1|5),(required_flags|1),(forbidden_flags|1),(reason|1|5),(listener|3) +2752 notification_cancel_all (uid|1|5),(pid|1|5),(pkg|3),(userid|1|5),(required_flags|1),(forbidden_flags|1),(reason|1|5),(listener|3) +2755 fstrim_start (time|2|3) +2756 fstrim_finish (time|2|3) +2802 watchdog (Service|3) +2803 watchdog_proc_pss (Process|3),(Pid|1|5),(Pss|1|2) +2804 watchdog_soft_reset (Process|3),(Pid|1|5),(MaxPss|1|2),(Pss|1|2),(Skip|3) +2805 watchdog_hard_reset (Process|3),(Pid|1|5),(MaxPss|1|2),(Pss|1|2) +2806 watchdog_pss_stats (EmptyPss|1|2),(EmptyCount|1|1),(BackgroundPss|1|2),(BackgroundCount|1|1),(ServicePss|1|2),(ServiceCount|1|1),(VisiblePss|1|2),(VisibleCount|1|1),(ForegroundPss|1|2),(ForegroundCount|1|1),(NoPssCount|1|1) +2807 watchdog_proc_stats (DeathsInOne|1|1),(DeathsInTwo|1|1),(DeathsInThree|1|1),(DeathsInFour|1|1),(DeathsInFive|1|1) +2808 watchdog_scheduled_reboot (Now|2|1),(Interval|1|3),(StartTime|1|3),(Window|1|3),(Skip|3) +2809 watchdog_meminfo (MemFree|1|2),(Buffers|1|2),(Cached|1|2),(Active|1|2),(Inactive|1|2),(AnonPages|1|2),(Mapped|1|2),(Slab|1|2),(SReclaimable|1|2),(SUnreclaim|1|2),(PageTables|1|2) +2810 watchdog_vmstat (runtime|2|3),(pgfree|1|1),(pgactivate|1|1),(pgdeactivate|1|1),(pgfault|1|1),(pgmajfault|1|1) +2811 watchdog_requested_reboot (NoWait|1|1),(ScheduleInterval|1|3),(RecheckInterval|1|3),(StartTime|1|3),(Window|1|3),(MinScreenOff|1|3),(MinNextAlarm|1|3) +2820 backup_data_changed (Package|3) +2821 backup_start (Transport|3) +2822 backup_transport_failure (Package|3) +2823 backup_agent_failure (Package|3),(Message|3) +2824 backup_package (Package|3),(Size|1|2) +2825 backup_success (Packages|1|1),(Time|1|3) +2826 backup_reset (Transport|3) +2827 backup_initialize +2828 backup_requested (Total|1|1),(Key-Value|1|1),(Full|1|1) +2829 backup_quota_exceeded (Package|3) +2830 restore_start (Transport|3),(Source|2|5) +2831 restore_transport_failure +2832 restore_agent_failure (Package|3),(Message|3) +2833 restore_package (Package|3),(Size|1|2) +2834 restore_success (Packages|1|1),(Time|1|3) +2840 full_backup_package (Package|3) +2841 full_backup_agent_failure (Package|3),(Message|3) +2842 full_backup_transport_failure +2843 full_backup_success (Package|3) +2844 full_restore_package (Package|3) +2845 full_backup_quota_exceeded (Package|3) +2846 full_backup_cancelled (Package|3),(Message|3) +2850 backup_transport_lifecycle (Transport|3),(Bound|1|1) +2851 backup_transport_connection (Transport|3),(Connected|1|1) +2900 rescue_note (uid|1),(count|1),(window|2) +2901 rescue_level (level|1),(trigger_uid|1) +2902 rescue_success (level|1) +2903 rescue_failure (level|1),(msg|3) +3000 boot_progress_start (time|2|3) +3010 boot_progress_system_run (time|2|3) +3011 system_server_start (start_count|1),(uptime|2|3),(elapse_time|2|3) +3020 boot_progress_preload_start (time|2|3) +3030 boot_progress_preload_end (time|2|3) +3040 boot_progress_ams_ready (time|2|3) +3050 boot_progress_enable_screen (time|2|3) +3060 boot_progress_pms_start (time|2|3) +3070 boot_progress_pms_system_scan_start (time|2|3) +3080 boot_progress_pms_data_scan_start (time|2|3) +3090 boot_progress_pms_scan_end (time|2|3) +3100 boot_progress_pms_ready (time|2|3) +3110 unknown_sources_enabled (value|1) +3120 pm_critical_info (msg|3) +3121 pm_package_stats (manual_time|2|3),(quota_time|2|3),(manual_data|2|2),(quota_data|2|2),(manual_cache|2|2),(quota_cache|2|2) +3130 pm_snapshot_stats (build_count|1|1),(reuse_count|1|1),(big_builds|1|1),(short_lived|1|1),(max_build_time|1|3),(cumm_build_time|2|3) +3131 pm_snapshot_rebuild (build_time|1|3),(lifetime|1|3) +8000 job_deferred_execution (time|2|3) +20003 dvm_lock_sample (process|3),(main|1|5),(thread|3),(time|1|3),(file|3),(line|1|5),(ownerfile|3),(ownerline|1|5),(sample_percent|1|6) +20004 art_hidden_api_access (access_method|1),(flags|1),(class|3),(member|3),(type_signature|3) +27390 battery_saving_stats (batterySaver|1|5),(interactive|1|5),(doze|1|5),(delta_duration|2|3),(delta_battery_drain|1|1),(delta_battery_drain_percent|1|6),(total_duration|2|3),(total_battery_drain|1|1),(total_battery_drain_percent|1|6) +27391 user_activity_timeout_override (override|2|3) +27392 battery_saver_setting (threshold|1) +27500 notification_panel_revealed (items|1) +27501 notification_panel_hidden +27510 notification_visibility_changed (newlyVisibleKeys|3),(noLongerVisibleKeys|3) +27511 notification_expansion (key|3),(user_action|1),(expanded|1),(lifespan|1),(freshness|1),(exposure|1) +27520 notification_clicked (key|3),(lifespan|1),(freshness|1),(exposure|1),(rank|1),(count|1) +27521 notification_action_clicked (key|3),(action_index|1),(lifespan|1),(freshness|1),(exposure|1),(rank|1),(count|1) +27530 notification_canceled (key|3),(reason|1),(lifespan|1),(freshness|1),(exposure|1),(rank|1),(count|1),(listener|3) +27531 notification_visibility (key|3),(visibile|1),(lifespan|1),(freshness|1),(exposure|1),(rank|1) +27532 notification_alert (key|3),(buzz|1),(beep|1),(blink|1) +27533 notification_autogrouped (key|3) +27535 notification_adjusted (key|3),(adjustment_type|3),(new_value|3) +30001 wm_finish_activity (User|1|5),(Token|1|5),(Task ID|1|5),(Component Name|3),(Reason|3),(DisplayId|1|5) +30002 wm_task_to_front (User|1|5),(Task|1|5) +30003 wm_new_intent (User|1|5),(Token|1|5),(Task ID|1|5),(Component Name|3),(Action|3),(MIME Type|3),(URI|3),(Flags|1|5),(DisplayId|1|5) +30004 wm_create_task (User|1|5),(Task ID|1|5),(DisplayId|1|5) +30005 wm_create_activity (User|1|5),(Token|1|5),(Task ID|1|5),(Component Name|3),(Action|3),(MIME Type|3),(URI|3),(Flags|1|5),(DisplayId|1|5) +30006 wm_restart_activity (User|1|5),(Token|1|5),(Task ID|1|5),(Component Name|3),(DisplayId|1|5) +30007 wm_resume_activity (User|1|5),(Token|1|5),(Task ID|1|5),(Component Name|3),(DisplayId|1|5) +30008 am_anr (User|1|5),(pid|1|5),(Package Name|3),(Flags|1|5),(reason|3) +30009 wm_activity_launch_time (User|1|5),(Token|1|5),(Component Name|3),(time|2|3) +30010 am_proc_bound (User|1|5),(PID|1|5),(Process Name|3) +30011 am_proc_died (User|1|5),(PID|1|5),(Process Name|3),(OomAdj|1|5),(ProcState|1|5) +30012 wm_failed_to_pause (User|1|5),(Token|1|5),(Wanting to pause|3),(Currently pausing|3),(DisplayId|1|5) +30013 wm_pause_activity (User|1|5),(Token|1|5),(Component Name|3),(User Leaving|3),(Reason|3),(DisplayId|1|5) +30014 am_proc_start (User|1|5),(PID|1|5),(UID|1|5),(Process Name|3),(Type|3),(Component|3) +30015 am_proc_bad (User|1|5),(UID|1|5),(Process Name|3) +30016 am_proc_good (User|1|5),(UID|1|5),(Process Name|3) +30017 am_low_memory (Num Processes|1|1) +30018 wm_destroy_activity (User|1|5),(Token|1|5),(Task ID|1|5),(Component Name|3),(Reason|3),(DisplayId|1|5) +30019 wm_relaunch_resume_activity (User|1|5),(Token|1|5),(Task ID|1|5),(Component Name|3),(DisplayId|1|5) +30020 wm_relaunch_activity (User|1|5),(Token|1|5),(Task ID|1|5),(Component Name|3),(DisplayId|1|5) +30021 wm_on_paused_called (Token|1|5),(Component Name|3),(Reason|3),(DisplayId|1|5) +30022 wm_on_resume_called (Token|1|5),(Component Name|3),(Reason|3),(DisplayId|1|5) +30023 am_kill (User|1|5),(PID|1|5),(Process Name|3),(OomAdj|1|5),(Reason|3) +30024 am_broadcast_discard_filter (User|1|5),(Broadcast|1|5),(Action|3),(Receiver Number|1|1),(BroadcastFilter|1|5) +30025 am_broadcast_discard_app (User|1|5),(Broadcast|1|5),(Action|3),(Receiver Number|1|1),(App|3) +30030 am_create_service (User|1|5),(Service Record|1|5),(Name|3),(UID|1|5),(PID|1|5) +30031 am_destroy_service (User|1|5),(Service Record|1|5),(PID|1|5) +30032 am_process_crashed_too_much (User|1|5),(Name|3),(PID|1|5) +30033 am_drop_process (PID|1|5) +30034 am_service_crashed_too_much (User|1|5),(Crash Count|1|1),(Component Name|3),(PID|1|5) +30035 am_schedule_service_restart (User|1|5),(Component Name|3),(Time|2|3) +30036 am_provider_lost_process (User|1|5),(Package Name|3),(UID|1|5),(Name|3) +30037 am_process_start_timeout (User|1|5),(PID|1|5),(UID|1|5),(Process Name|3) +30039 am_crash (User|1|5),(PID|1|5),(Process Name|3),(Flags|1|5),(Exception|3),(Message|3),(File|3),(Line|1|5) +30040 am_wtf (User|1|5),(PID|1|5),(Process Name|3),(Flags|1|5),(Tag|3),(Message|3) +30041 am_switch_user (id|1|5) +30043 wm_set_resumed_activity (User|1|5),(Component Name|3),(Reason|3),(DisplayId|1|5) +30044 wm_focused_root_task (User|1|5),(Display Id|1|5),(Focused Root Task Id|1|5),(Last Focused Root Task Id|1|5),(Reason|3) +30045 am_pre_boot (User|1|5),(Package|3) +30046 am_meminfo (Cached|2|2),(Free|2|2),(Zram|2|2),(Kernel|2|2),(Native|2|2) +30047 am_pss (Pid|1|5),(UID|1|5),(Process Name|3),(Pss|2|2),(Uss|2|2),(SwapPss|2|2),(Rss|2|2),(StatType|1|5),(ProcState|1|5),(TimeToCollect|2|2) +30048 wm_stop_activity (User|1|5),(Token|1|5),(Component Name|3),(DisplayId|1|5) +30049 wm_on_stop_called (Token|1|5),(Component Name|3),(Reason|3) +30050 am_mem_factor (Current|1|5),(Previous|1|5) +30051 am_user_state_changed (id|1|5),(state|1|5) +30052 am_uid_running (UID|1|5) +30053 am_uid_stopped (UID|1|5) +30054 am_uid_active (UID|1|5) +30055 am_uid_idle (UID|1|5) +30056 am_stop_idle_service (UID|1|5),(Component Name|3) +30057 wm_on_create_called (Token|1|5),(Component Name|3),(Reason|3),(DisplayId|1|5) +30058 wm_on_restart_called (Token|1|5),(Component Name|3),(Reason|3) +30059 wm_on_start_called (Token|1|5),(Component Name|3),(Reason|3) +30060 wm_on_destroy_called (Token|1|5),(Component Name|3),(Reason|3) +30061 wm_remove_task (Task ID|1|5), (Root Task ID|1|5) +30062 wm_on_activity_result_called (Token|1|5),(Component Name|3),(Reason|3) +30063 am_compact (Pid|1|5),(Process Name|3),(Action|3),(BeforeRssTotal|2|2),(BeforeRssFile|2|2),(BeforeRssAnon|2|2),(BeforeRssSwap|2|2),(DeltaRssTotal|2|2),(DeltaRssFile|2|2),(DeltaRssAnon|2|2),(DeltaRssSwap|2|2),(Time|2|3),(LastAction|1|2),(LastActionTimestamp|2|3),(setAdj|1|2),(procState|1|2),(BeforeZRAMFree|2|2),(DeltaZRAMFree|2|2) +30064 wm_on_top_resumed_gained_called (Token|1|5),(Component Name|3),(Reason|3),(DisplayId|1|5) +30065 wm_on_top_resumed_lost_called (Token|1|5),(Component Name|3),(Reason|3),(DisplayId|1|5) +30066 wm_add_to_stopping (User|1|5),(Token|1|5),(Component Name|3),(Reason|3),(DisplayId|1|5) +30067 wm_set_keyguard_shown (keyguardShowing|1),(aodShowing|1),(keyguardGoingAway|1),(Reason|3) +30068 am_freeze (Pid|1|5),(Process Name|3) +30069 am_unfreeze (Pid|1|5),(Process Name|3) +30070 uc_finish_user_unlocking (userId|1|5) +30071 uc_finish_user_unlocked (userId|1|5) +30072 uc_finish_user_unlocked_completed (userId|1|5) +30073 uc_finish_user_stopping (userId|1|5) +30074 uc_finish_user_stopped (userId|1|5) +30075 uc_switch_user (userId|1|5) +30076 uc_start_user_internal (userId|1|5) +30077 uc_unlock_user (userId|1|5) +30078 uc_finish_user_boot (userId|1|5) +30079 uc_dispatch_user_switch (oldUserId|1|5),(newUserId|1|5) +30080 uc_continue_user_switch (oldUserId|1|5),(newUserId|1|5) +30081 uc_send_user_broadcast (userId|1|5),(IntentAction|3) +30082 ssm_user_starting (userId|1|5) +30083 ssm_user_switching (oldUserId|1|5),(newUserId|1|5) +30084 ssm_user_unlocking (userId|1|5) +30085 ssm_user_unlocked (userId|1|5) +30086 ssm_user_stopping (userId|1|5) +30087 ssm_user_stopped (userId|1|5) +31000 wm_no_surface_memory (Window|3),(PID|1|5),(Operation|3) +31001 wm_task_created (TaskId|1|5),(RootTaskId|1|5) +31002 wm_task_moved (TaskId|1|5),(ToTop|1),(Index|1),(DisplayId|1|5) +31003 wm_task_removed (TaskId|1|5),(Reason|3),(DisplayId|1|5) +31007 wm_boot_animation_done (time|2|3) +32000 imf_force_reconnect_ime (IME|4),(Time Since Connect|2|3),(Showing|1|1) +33000 wp_wallpaper_crashed (component|3) +34000 device_idle (state|1|5), (reason|3) +34001 device_idle_step +34002 device_idle_wake_from_idle (is_idle|1|5), (reason|3) +34003 device_idle_on_start +34004 device_idle_on_phase (what|3) +34005 device_idle_on_complete +34006 device_idle_off_start (reason|3) +34007 device_idle_off_phase (what|3) +34008 device_idle_off_complete +34009 device_idle_light (state|1|5), (reason|3) +34010 device_idle_light_step +35000 auto_brightness_adj (old_lux|5),(old_brightness|5),(new_lux|5),(new_brightness|5) +36000 sysui_statusbar_touch (type|1),(x|1),(y|1),(disable1|1),(disable2|1) +36001 sysui_heads_up_status (key|3),(visible|1) +36002 sysui_fullscreen_notification (key|3) +36003 sysui_heads_up_escalation (key|3) +36004 sysui_status_bar_state (state|1),(keyguardShowing|1),(keyguardOccluded|1),(bouncerShowing|1),(secure|1),(currentlyInsecure|1) +36010 sysui_panelbar_touch (type|1),(x|1),(y|1),(enabled|1) +36020 sysui_notificationpanel_touch (type|1),(x|1),(y|1) +36021 sysui_lockscreen_gesture (type|1),(lengthDp|1),(velocityDp|1) +36030 sysui_quickpanel_touch (type|1),(x|1),(y|1) +36040 sysui_panelholder_touch (type|1),(x|1),(y|1) +36050 sysui_searchpanel_touch (type|1),(x|1),(y|1) +36060 sysui_recents_connection (type|1),(user|1) +36070 sysui_latency (action|1|6),(latency|1|3) +40000 volume_changed (stream|1), (prev_level|1), (level|1), (max_level|1), (caller|3) +40001 stream_devices_changed (stream|1), (prev_devices|1), (devices|1) +40100 camera_gesture_triggered (gesture_on_time|2|3), (sensor1_on_time|2|3), (sensor2_on_time|2|3), (event_extra|1|1) +50000 menu_item_selected (Menu type where 0 is options and 1 is context|1|5),(Menu item title|3) +50001 menu_opened (Menu type where 0 is options and 1 is context|1|5) +50020 connectivity_state_changed (type|1),(subtype|1),(state|1) +50021 wifi_state_changed (wifi_state|3) +50022 wifi_event_handled (wifi_event|1|5) +50023 wifi_supplicant_state_changed (supplicant_state|1|5) +50080 ntp_success (server|3),(rtt|2),(offset|2) +50081 ntp_failure (server|3),(msg|3) +50100 pdp_bad_dns_address (dns_address|3) +50101 pdp_radio_reset_countdown_triggered (out_packet_count|1|1) +50102 pdp_radio_reset (out_packet_count|1|1) +50103 pdp_context_reset (out_packet_count|1|1) +50104 pdp_reregister_network (out_packet_count|1|1) +50105 pdp_setup_fail (cause|1|5), (cid|1|5), (network_type|1|5) +50106 call_drop (cause|1|5), (cid|1|5), (network_type|1|5) +50107 data_network_registration_fail (op_numeric|1|5), (cid|1|5) +50108 data_network_status_on_radio_off (dc_state|3), (enable|1|5) +50109 pdp_network_drop (cid|1|5), (network_type|1|5) +50110 cdma_data_setup_failed (cause|1|5), (cid|1|5), (network_type|1|5) +50111 cdma_data_drop (cid|1|5), (network_type|1|5) +50112 gsm_rat_switched (cid|1|5), (network_from|1|5), (network_to|1|5) +50113 gsm_data_state_change (oldState|3), (newState|3) +50114 gsm_service_state_change (oldState|1|5), (oldGprsState|1|5), (newState|1|5), (newGprsState|1|5) +50115 cdma_data_state_change (oldState|3), (newState|3) +50116 cdma_service_state_change (oldState|1|5), (oldDataState|1|5), (newState|1|5), (newDataState|1|5) +50117 bad_ip_address (ip_address|3) +50118 data_stall_recovery_get_data_call_list (out_packet_count|1|1) +50119 data_stall_recovery_cleanup (out_packet_count|1|1) +50120 data_stall_recovery_reregister (out_packet_count|1|1) +50121 data_stall_recovery_radio_restart (out_packet_count|1|1) +50122 data_stall_recovery_radio_restart_with_prop (out_packet_count|1|1) +50123 gsm_rat_switched_new (cid|1|5), (network_from|1|5), (network_to|1|5) +50125 exp_det_sms_denied_by_user (app_signature|3) +50128 exp_det_sms_sent_by_user (app_signature|3) +51100 netstats_mobile_sample (dev_rx_bytes|2|2),(dev_tx_bytes|2|2),(dev_rx_pkts|2|1),(dev_tx_pkts|2|1),(xt_rx_bytes|2|2),(xt_tx_bytes|2|2),(xt_rx_pkts|2|1),(xt_tx_pkts|2|1),(uid_rx_bytes|2|2),(uid_tx_bytes|2|2),(uid_rx_pkts|2|1),(uid_tx_pkts|2|1),(trusted_time|2|3) +51101 netstats_wifi_sample (dev_rx_bytes|2|2),(dev_tx_bytes|2|2),(dev_rx_pkts|2|1),(dev_tx_pkts|2|1),(xt_rx_bytes|2|2),(xt_tx_bytes|2|2),(xt_rx_pkts|2|1),(xt_tx_pkts|2|1),(uid_rx_bytes|2|2),(uid_tx_bytes|2|2),(uid_rx_pkts|2|1),(uid_tx_pkts|2|1),(trusted_time|2|3) +51200 lockdown_vpn_connecting (egress_net|1) +51201 lockdown_vpn_connected (egress_net|1) +51202 lockdown_vpn_error (egress_net|1) +51300 config_install_failed (dir|3) +51400 ifw_intent_matched (Intent Type|1|5),(Component Name|3),(Caller Uid|1|5),(Caller Pkg Count|1|1),(Caller Pkgs|3),(Action|3),(MIME Type|3),(URI|3),(Flags|1|5) +51500 idle_maintenance_window_start (time|2|3), (lastUserActivity|2|3), (batteryLevel|1|6), (batteryCharging|1|5) +51501 idle_maintenance_window_finish (time|2|3), (lastUserActivity|2|3), (batteryLevel|1|6), (batteryCharging|1|5) +51600 timezone_trigger_check (token|3) +51610 timezone_request_install (token|3) +51611 timezone_install_started (token|3) +51612 timezone_install_complete (token|3), (result|1) +51620 timezone_request_uninstall (token|3) +51621 timezone_uninstall_started (token|3) +51622 timezone_uninstall_complete (token|3), (result|1) +51630 timezone_request_nothing (token|3) +51631 timezone_nothing_complete (token|3) +51690 timezone_check_trigger_received (token_bytes|3) +51691 timezone_check_read_from_data_app (token_bytes|3) +51692 timezone_check_request_uninstall (token_bytes|3) +51693 timezone_check_request_install (token_bytes|3) +51694 timezone_check_request_nothing (token_bytes|3), (success|1) +52000 db_sample (db|3),(sql|3),(time|1|3),(blocking_package|3),(sample_percent|1|6) +52001 http_stats (useragent|3),(response|2|3),(processing|2|3),(tx|1|2),(rx|1|2) +52002 content_query_sample (uri|3),(projection|3),(selection|3),(sortorder|3),(time|1|3),(blocking_package|3),(sample_percent|1|6) +52003 content_update_sample (uri|3),(operation|3),(selection|3),(time|1|3),(blocking_package|3),(sample_percent|1|6) +52004 binder_sample (descriptor|3),(method_num|1|5),(time|1|3),(blocking_package|3),(sample_percent|1|6) +52103 unsupported_motorola_settings_query (uri|3),(selection|3),(whereArgs|3) +52104 persist_motorola_setting_error (message|3) +53000 harmful_app_warning_uninstall (package_name|3) +53001 harmful_app_warning_launch_anyway (package_name|3) +60000 viewroot_draw (Draw time|1|3) +60001 viewroot_layout (Layout time|1|3) +60002 view_build_drawing_cache (View created drawing cache|1|5) +60003 view_use_drawing_cache (View drawn using bitmap cache|1|5) +60100 sf_frame_dur (window|3),(dur0|1),(dur1|1),(dur2|1),(dur3|1),(dur4|1),(dur5|1),(dur6|1) +60110 sf_stop_bootanim (time|2|3) +61000 audioserver_binder_timeout (command|3) +62000 input_interaction (windows|4) +62001 input_focus (window|3),(reason|3) +62002 view_enqueue_input_event (eventType|3),(action|3) +65537 exp_det_netlink_failure (uid|1) +70000 screen_toggled (screen_state|1|5) +70001 intercept_power (action|3),(mPowerKeyHandled|1),(mPowerKeyPressCounter|1) +70101 browser_zoom_level_change (start level|1|5),(end level|1|5),(time|2|3) +70102 browser_double_tap_duration (duration|1|3),(time|2|3) +70150 browser_snap_center +70151 exp_det_attempt_to_call_object_getclass (app_signature|3) +70200 aggregation (aggregation time|2|3) +70201 aggregation_test (field1|1|2),(field2|1|2),(field3|1|2),(field4|1|2),(field5|1|2) +70220 gms_unknown +75000 sqlite_mem_alarm_current (current|1|2) +75001 sqlite_mem_alarm_max (max|1|2) +75002 sqlite_mem_alarm_alloc_attempt (attempts|1|4) +75003 sqlite_mem_released (Memory released|1|2) +75004 sqlite_db_corrupt (Database file corrupt|3) +76001 tts_speak_success (engine|3),(caller_uid|1),(caller_pid|1),(length|1),(locale|3),(rate|1),(pitch|1),(engine_latency|2|3),(engine_total|2|3),(audio_latency|2|3) +76002 tts_speak_failure (engine|3),(caller_uid|1),(caller_pid|1),(length|1),(locale|3),(rate|1),(pitch|1) +76003 tts_v2_speak_success (engine|3),(caller_uid|1),(caller_pid|1),(length|1),(request_config|3),(engine_latency|2|3),(engine_total|2|3),(audio_latency|2|3) +76004 tts_v2_speak_failure (engine|3),(caller_uid|1),(caller_pid|1),(length|1),(request_config|3), (statusCode|1) +78001 exp_det_dispatchCommand_overflow +80100 bionic_event_memcpy_buffer_overflow (uid|1) +80105 bionic_event_strcat_buffer_overflow (uid|1) +80110 bionic_event_memmov_buffer_overflow (uid|1) +80115 bionic_event_strncat_buffer_overflow (uid|1) +80120 bionic_event_strncpy_buffer_overflow (uid|1) +80125 bionic_event_memset_buffer_overflow (uid|1) +80130 bionic_event_strcpy_buffer_overflow (uid|1) +80200 bionic_event_strcat_integer_overflow (uid|1) +80205 bionic_event_strncat_integer_overflow (uid|1) +80300 bionic_event_resolver_old_response (uid|1) +80305 bionic_event_resolver_wrong_server (uid|1) +80310 bionic_event_resolver_wrong_query (uid|1) +81002 dropbox_file_copy (FileName|3),(Size|1),(Tag|3) +90100 exp_det_cert_pin_failure (certs|4) +90200 lock_screen_type (type|3) +90201 exp_det_device_admin_activated_by_user (app_signature|3) +90202 exp_det_device_admin_declined_by_user (app_signature|3) +90203 exp_det_device_admin_uninstalled_by_user (app_signature|3) +90204 settings_latency (action|1|6),(latency|1|3) +150000 car_helper_start +150001 car_helper_boot_phase (phase|1) +150002 car_helper_user_starting (user_id|1) +150003 car_helper_user_switching (from_user_id|1),(to_user_id|1) +150004 car_helper_user_unlocking (user_id|1) +150005 car_helper_user_unlocked (user_id|1) +150006 car_helper_user_stopping (user_id|1) +150007 car_helper_user_stopped (user_id|1) +150008 car_helper_svc_connected (pending_operations|1) +150009 car_helper_hal_request (request_type|1) +150010 car_helper_hal_response (result_code|1) +150011 car_helper_hal_default_behavior (fallback|1),(user_locales|3) +150012 car_helper_hal_start_user (user_id|1),(user_locales|3) +150013 car_helper_hal_create_user (flags|1),(safe_name|3),(user_locales|3) +150050 car_service_init (number_services|1) +150051 car_service_vhal_reconnected (number_services|1) +150052 car_service_set_car_service_helper (pid|1) +150053 car_service_on_user_lifecycle (type|1),(from_user_id|1),(to_user_id|1) +150055 car_service_create (has_vhal|1) +150056 car_service_connected (interface|3) +150057 car_service_destroy (has_vhal|1) +150058 car_service_vhal_died (cookie|2) +150059 car_service_init_boot_user +150060 car_service_on_user_removed (user_id|1) +150100 car_user_svc_initial_user_info_req (request_type|1),(timeout|1) +150101 car_user_svc_initial_user_info_resp (status|1),(action|1),(user_id|1),(flags|1),(safe_name|3),(user_locales|3) +150103 car_user_svc_set_initial_user (user_id|1) +150104 car_user_svc_set_lifecycle_listener (uid|1) +150105 car_user_svc_reset_lifecycle_listener (uid|1) +150106 car_user_svc_switch_user_req (user_id|1),(timeout|1) +150107 car_user_svc_switch_user_resp (hal_callback_status|1),(user_switch_status|1),(error_message|3) +150108 car_user_svc_post_switch_user_req (target_user_id|1),(current_user_id|1) +150109 car_user_svc_get_user_auth_req (uid|1),(user_id|1),(number_types|1) +150110 car_user_svc_get_user_auth_resp (number_values|1) +150111 car_user_svc_switch_user_ui_req (user_id|1) +150112 car_user_svc_switch_user_from_hal_req (request_id|1),(uid|1) +150113 car_user_svc_set_user_auth_req (uid|1),(user_id|1),(number_associations|1) +150114 car_user_svc_set_user_auth_resp (number_values|1),(error_message|3) +150115 car_user_svc_create_user_req (safe_name|3),(user_type|3),(flags|1),(timeout|1) +150116 car_user_svc_create_user_resp (status|1),(result|1),(error_message|3) +150117 car_user_svc_create_user_user_created (user_id|1),(safe_name|3),(user_type|3),(flags|1) +150118 car_user_svc_create_user_user_removed (user_id|1),(reason|3) +150119 car_user_svc_remove_user_req (user_id|1),(hasCallerRestrictions|1) +150120 car_user_svc_remove_user_resp (user_id|1),(result|1) +150121 car_user_svc_notify_app_lifecycle_listener (uid|1),(event_type|1),(from_user_id|1),(to_user_id|1) +150122 car_user_svc_notify_internal_lifecycle_listener (listener_name|3),(event_type|1),(from_user_id|1),(to_user_id|1) +150123 car_user_svc_pre_creation_requested (number_users|1),(number_guests|1) +150124 car_user_svc_pre_creation_status (number_existing_users|1),(number_users_to_add|1),(number_users_to_remove|1),(number_existing_guests|1),(number_guests_to_add|1),(number_guests_to_remove|1),(number_invalid_users_to_remove|1) +150125 car_user_svc_start_user_in_background_req (user_id|1) +150126 car_user_svc_start_user_in_background_resp (user_id|1),(result|1) +150127 car_user_svc_stop_user_req (user_id|1) +150128 car_user_svc_stop_user_resp (user_id|1),(result|1) +150129 car_user_svc_initial_user_info_req_complete (request_type|1) +150140 car_user_hal_initial_user_info_req (request_id|1),(request_type|1),(timeout|1) +150141 car_user_hal_initial_user_info_resp (request_id|1),(status|1),(action|1),(user_id|1),(flags|1),(safe_name|3),(user_locales|3) +150142 car_user_hal_switch_user_req (request_id|1),(user_id|1),(user_flags|1),(timeout|1) +150143 car_user_hal_switch_user_resp (request_id|1),(status|1),(result|1),(error_message|3) +150144 car_user_hal_post_switch_user_req (request_id|1),(target_user_id|1),(current_user_id|1) +150145 car_user_hal_get_user_auth_req (int32values|4) +150146 car_user_hal_get_user_auth_resp (int32values|4),(error_message|3) +150147 car_user_hal_legacy_switch_user_req (request_id|1),(target_user_id|1),(current_user_id|1) +150148 car_user_hal_set_user_auth_req (int32values|4) +150149 car_user_hal_set_user_auth_resp (int32values|4),(error_message|3) +150150 car_user_hal_oem_switch_user_req (request_id|1),(target_user_id|1) +150151 car_user_hal_create_user_req (request_id|1),(safe_name|3),(flags|1),(timeout|1) +150152 car_user_hal_create_user_resp (request_id|1),(status|1),(result|1),(error_message|3) +150153 car_user_hal_remove_user_req (target_user_id|1),(current_user_id|1) +150171 car_user_mgr_add_listener (uid|1) +150172 car_user_mgr_remove_listener (uid|1) +150173 car_user_mgr_disconnected (uid|1) +150174 car_user_mgr_switch_user_req (uid|1),(user_id|1) +150175 car_user_mgr_switch_user_resp (uid|1),(status|1),(error_message|3) +150176 car_user_mgr_get_user_auth_req (types|4) +150177 car_user_mgr_get_user_auth_resp (values|4) +150178 car_user_mgr_set_user_auth_req (types_and_values_pairs|4) +150179 car_user_mgr_set_user_auth_resp (values|4) +150180 car_user_mgr_create_user_req (uid|1),(safe_name|3),(user_type|3),(flags|1) +150181 car_user_mgr_create_user_resp (uid|1),(status|1),(error_message|3) +150182 car_user_mgr_remove_user_req (uid|1),(user_id|1) +150183 car_user_mgr_remove_user_resp (uid|1),(status|1) +150184 car_user_mgr_notify_lifecycle_listener (number_listeners|1),(event_type|1),(from_user_id|1),(to_user_id|1) +150185 car_user_mgr_pre_create_user_req (uid|1) +150200 car_dp_mgr_remove_user_req (uid|1),(user_id|1) +150201 car_dp_mgr_remove_user_resp (uid|1),(status|1) +150202 car_dp_mgr_create_user_req (uid|1),(safe_name|3),(flags|1) +150203 car_dp_mgr_create_user_resp (uid|1),(status|1) +150204 car_dp_mgr_start_user_in_background_req (uid|1),(user_id|1) +150205 car_dp_mgr_start_user_in_background_resp (uid|1),(status|1) +150206 car_dp_mgr_stop_user_req (uid|1),(user_id|1) +150207 car_dp_mgr_stop_user_resp (uid|1),(status|1) +201001 system_update (status|1|5),(download_result|1|5),(bytes|2|2),(url|3) +201002 system_update_user (action|3) +202001 vending_reconstruct (changes|1) +202901 transaction_event (data|3) +203001 sync_details (authority|3),(send|1|2),(recv|1|2),(details|3) +203002 google_http_request (elapsed|2|3),(status|1),(appname|3),(reused|1) +204001 gtalkservice (eventType|1) +204002 gtalk_connection (status|1) +204003 gtalk_conn_close (status|1),(duration|1) +204004 gtalk_heartbeat_reset (interval_and_nt|1),(ip|3) +204005 c2dm (packet_type|1),(persistent_id|3),(stream_id|1),(last_stream_id|1) +205001 setup_server_timeout +205002 setup_required_captcha (action|3) +205003 setup_io_error (status|3) +205004 setup_server_error +205005 setup_retries_exhausted +205006 setup_no_data_network +205007 setup_completed +205008 gls_account_tried (status|1) +205009 gls_account_saved (status|1) +205010 gls_authenticate (status|1),(service|3) +205011 google_mail_switch (direction|1) +206001 snet (payload|3) +206003 exp_det_snet (payload|3) +208000 metrics_heartbeat +210001 security_adb_shell_interactive +210002 security_adb_shell_command (command|3) +210003 security_adb_sync_recv (path|3) +210004 security_adb_sync_send (path|3) +210005 security_app_process_start (process|3),(start_time|2|3),(uid|1),(pid|1),(seinfo|3),(sha256|3) +210006 security_keyguard_dismissed +210007 security_keyguard_dismiss_auth_attempt (success|1),(method_strength|1) +210008 security_keyguard_secured +210009 security_os_startup (boot_state|3),(verity_mode|3) +210010 security_os_shutdown +210011 security_logging_started +210012 security_logging_stopped +210013 security_media_mounted (path|3),(label|3) +210014 security_media_unmounted (path|3),(label|3) +210015 security_log_buffer_size_critical +210016 security_password_expiration_set (package|3),(admin_user|1),(target_user|1),(timeout|2|3) +210017 security_password_complexity_set (package|3),(admin_user|1),(target_user|1),(length|1),(quality|1),(num_letters|1),(num_non_letters|1),(num_numeric|1),(num_uppercase|1),(num_lowercase|1),(num_symbols|1) +210018 security_password_history_length_set (package|3),(admin_user|1),(target_user|1),(length|1) +210019 security_max_screen_lock_timeout_set (package|3),(admin_user|1),(target_user|1),(timeout|2|3) +210020 security_max_password_attempts_set (package|3),(admin_user|1),(target_user|1),(num_failures|1) +210021 security_keyguard_disabled_features_set (package|3),(admin_user|1),(target_user|1),(features|1) +210022 security_remote_lock (package|3),(admin_user|1),(target_user|1) +210023 security_wipe_failed (package|3),(admin_user|1) +210024 security_key_generated (success|1),(key_id|3),(uid|1) +210025 security_key_imported (success|1),(key_id|3),(uid|1) +210026 security_key_destroyed (success|1),(key_id|3),(uid|1) +210027 security_user_restriction_added (package|3),(admin_user|1),(restriction|3) +210028 security_user_restriction_removed (package|3),(admin_user|1),(restriction|3) +210029 security_cert_authority_installed (success|1),(subject|3),(target_user|1) +210030 security_cert_authority_removed (success|1),(subject|3),(target_user|1) +210031 security_crypto_self_test_completed (success|1) +210032 security_key_integrity_violation (key_id|3),(uid|1) +210033 security_cert_validation_failure (reason|3) +210034 security_camera_policy_set (package|3),(admin_user|1),(target_user|1),(disabled|1) +210035 security_password_complexity_required (package|3),(admin_user|1),(target_user|1),(complexity|1) +230000 service_manager_stats (call_count|1),(total_time|1|3),(duration|1|3) +230001 service_manager_slow (time|1|3),(service|3) +275534 notification_unautogrouped (key|3) +300000 arc_system_event (event|3) +524287 sysui_view_visibility (category|1|5),(visible|1|6) +524288 sysui_action (category|1|5),(pkg|3) +524290 sysui_count (name|3),(increment|1) +524291 sysui_histogram (name|3),(bucket|1) +524292 sysui_multi_action (content|4) +525000 commit_sys_config_file (name|3),(time|2|3) +1000301 dc_mm (media_info|3) +1000302 dc_mmlog (log|3) +1010000 bt_hci_timeout (opcode|1) +1010001 bt_config_source (opcode|1) +1010002 bt_hci_unknown_type (hci_type|1) +1030000 wm_rm_from_stopping (User|1|5),(Token|1|5),(Component Name|3),(Reason|3),(Locked|3) +10195355 killinfo (Pid|1|5),(Uid|1|5),(OomAdj|1),(MinOomAdj|1),(TaskSize|1),(enum kill_reasons|1|5),(MemFree|1),(Cached|1),(SwapCached|1),(Buffers|1),(Shmem|1),(Unevictable|1),(SwapTotal|1),(SwapFree|1),(ActiveAnon|1),(InactiveAnon|1),(ActiveFile|1),(InactiveFile|1),(SReclaimable|1),(SUnreclaim|1),(KernelStack|1),(PageTables|1),(IonHeap|1),(IonHeapPool|1),(CmaFree|1),(MsSinceEvent|1),(MsSincePrevWakeup|1),(WakeupsSinceEvent|1),(SkippedWakeups|1),(TaskSwapSize|1),(GPU|1) +1397638484 snet_event_log (subtag|3) (uid|1) (message|3) +1937006964 stats_log (atom_id|1|5),(data|4) diff --git a/recovery/root/system/etc/recovery.fstab b/recovery/root/system/etc/recovery.fstab new file mode 100644 index 0000000..ba5c981 --- /dev/null +++ b/recovery/root/system/etc/recovery.fstab @@ -0,0 +1,21 @@ +# +system /system ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey +system /system erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.a> +system_ext /system_ext ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount +system_ext /system_ext erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount +product /product ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount +product /product erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount +vendor /vendor ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount +vendor /vendor erofs ro wait,slotselect,avb,logical,first_stage_mount +vendor_dlkm /vendor_dlkm ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount +vendor_dlkm /vendor_dlkm erofs ro wait,slotselect,avb,logical,first_stage_mount +#odm /odm ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount +/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount +/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait +/dev/block/bootdevice/by-name/prodpersist /mnt/product/persist ext4 noatime,nosuid,nodev,barrier=1 wait,formattable,nofail +/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,metadata_encryption=aes-256-xts:wrappedkey_v0,quota,reservedsize=128M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs +/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults +/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt ext4 ro,nosuid,nodev,context=u:object_r:firmware_file:s0 wait,slotselect +/dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait,slotselect +/dev/block/bootdevice/by-name/bluetooth /vendor/bt_firmware ext4 ro,nosuid,nodev,context=u:object_r:bt_firmware_file:s0 wait,slotselect +/dev/block/bootdevice/by-name/fsg /vendor/fsg ext4 ro,nosuid,nodev,context=u:object_r:fsg_file:s0 wait,slotselect diff --git a/recovery/root/system/etc/task_profiles.json b/recovery/root/system/etc/task_profiles.json new file mode 100644 index 0000000..2db70f9 --- /dev/null +++ b/recovery/root/system/etc/task_profiles.json @@ -0,0 +1,703 @@ +{ + "Attributes": [ + { + "Name": "LowCapacityCPUs", + "Controller": "cpuset", + "File": "background/cpus" + }, + { + "Name": "HighCapacityCPUs", + "Controller": "cpuset", + "File": "foreground/cpus" + }, + { + "Name": "MaxCapacityCPUs", + "Controller": "cpuset", + "File": "top-app/cpus" + }, + { + "Name": "AudioAppCapacityCPUs", + "Controller": "cpuset", + "File": "audio-app/cpus" + }, + + { + "Name": "MemLimit", + "Controller": "memory", + "File": "memory.limit_in_bytes" + }, + { + "Name": "MemSoftLimit", + "Controller": "memory", + "File": "memory.soft_limit_in_bytes" + }, + { + "Name": "MemSwappiness", + "Controller": "memory", + "File": "memory.swappiness" + }, + { + "Name": "UClampMin", + "Controller": "cpu", + "File": "cpu.uclamp.min" + }, + { + "Name": "UClampMax", + "Controller": "cpu", + "File": "cpu.uclamp.max" + }, + { + "Name": "UClampLatencySensitive", + "Controller": "cpu", + "File": "cpu.uclamp.latency_sensitive" + }, + { + "Name": "FreezerState", + "Controller": "freezer", + "File": "cgroup.freeze" + } + ], + + "Profiles": [ + { + "Name": "HighEnergySaving", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "background" + } + } + ] + }, + { + "Name": "Frozen", + "Actions": [ + { + "Name": "SetAttribute", + "Params": + { + "Name": "FreezerState", + "Value": "1" + } + } + ] + }, + { + "Name": "Unfrozen", + "Actions": [ + { + "Name": "SetAttribute", + "Params": + { + "Name": "FreezerState", + "Value": "0" + } + } + ] + }, + { + "Name": "NormalPerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "system" + } + } + ] + }, + { + "Name": "ServicePerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "system-background" + } + } + ] + }, + { + "Name": "HighPerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "foreground" + } + } + ] + }, + { + "Name": "MaxPerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "top-app" + } + } + ] + }, + { + "Name": "RealtimePerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "rt" + } + } + ] + }, + { + "Name": "CameraServicePerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "camera-daemon" + } + } + ] + }, + { + "Name": "AudioAppPerformance", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "schedtune", + "Path": "audio-app" + } + } + ] + }, + { + "Name": "NNApiHALPerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "nnapi-hal" + } + } + ] + }, + + { + "Name": "CpuPolicySpread", + "Actions": [ + { + "Name": "SetAttribute", + "Params": + { + "Name": "UClampLatencySensitive", + "Value": "1" + } + } + ] + }, + { + "Name": "CpuPolicyPack", + "Actions": [ + { + "Name": "SetAttribute", + "Params": + { + "Name": "UClampLatencySensitive", + "Value": "0" + } + } + ] + }, + + { + "Name": "VrKernelCapacity", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "" + } + } + ] + }, + { + "Name": "VrServiceCapacityLow", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system/background" + } + } + ] + }, + { + "Name": "VrServiceCapacityNormal", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system" + } + } + ] + }, + { + "Name": "VrServiceCapacityHigh", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system/performance" + } + } + ] + }, + { + "Name": "VrProcessCapacityLow", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "application/background" + } + } + ] + }, + { + "Name": "VrProcessCapacityNormal", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "application" + } + } + ] + }, + { + "Name": "VrProcessCapacityHigh", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "application/performance" + } + } + ] + }, + + { + "Name": "ProcessCapacityLow", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "background" + } + } + ] + }, + { + "Name": "ProcessCapacityNormal", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "" + } + } + ] + }, + { + "Name": "ProcessCapacityHigh", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "foreground" + } + } + ] + }, + { + "Name": "ProcessCapacityMax", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "top-app" + } + } + ] + }, + + { + "Name": "ServiceCapacityLow", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system-background" + } + } + ] + }, + { + "Name": "ServiceCapacityRestricted", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "restricted" + } + } + ] + }, + + { + "Name": "CameraServiceCapacity", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "camera-daemon" + } + } + ] + }, + { + "Name": "AudioAppCapacity", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "cpuset", + "Path": "audio-app" + } + } + ] + }, + + { + "Name": "BlkIOForeground", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + { + "Name": "BlkIOBackground", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "blkio", + "Path": "bg" + } + } + ] + }, + + { + "Name": "LowIoPriority", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "blkio", + "Path": "background" + } + } + ] + }, + { + "Name": "NormalIoPriority", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + { + "Name": "HighIoPriority", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + { + "Name": "MaxIoPriority", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + + { + "Name": "TimerSlackHigh", + "Actions": [ + { + "Name": "SetTimerSlack", + "Params": + { + "Slack": "10000000" + } + } + ] + }, + { + "Name": "TimerSlackNormal", + "Actions": [ + { + "Name": "SetTimerSlack", + "Params": + { + "Slack": "50000" + } + } + ] + }, + + { + "Name": "SFMainPolicy", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system-background" + } + } + ] + }, + { + "Name": "SFRenderEnginePolicy", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system-background" + } + } + ] + }, + + { + "Name": "PerfBoost", + "Actions": [ + { + "Name": "SetClamps", + "Params": + { + "Boost": "50%", + "Clamp": "0" + } + } + ] + }, + { + "Name": "PerfClamp", + "Actions": [ + { + "Name": "SetClamps", + "Params": + { + "Boost": "0", + "Clamp": "30%" + } + } + ] + }, + + { + "Name": "LowMemoryUsage", + "Actions": [ + { + "Name": "SetAttribute", + "Params": + { + "Name": "MemSoftLimit", + "Value": "16MB" + } + }, + { + "Name": "SetAttribute", + "Params": + { + "Name": "MemSwappiness", + "Value": "150" + + } + } + ] + }, + { + "Name": "HighMemoryUsage", + "Actions": [ + { + "Name": "SetAttribute", + "Params": + { + "Name": "MemSoftLimit", + "Value": "512MB" + } + }, + { + "Name": "SetAttribute", + "Params": + { + "Name": "MemSwappiness", + "Value": "100" + } + } + ] + }, + { + "Name": "SystemMemoryProcess", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "memory", + "Path": "system" + } + } + ] + } + ], + + "AggregateProfiles": [ + { + "Name": "SCHED_SP_DEFAULT", + "Profiles": [ "TimerSlackNormal" ] + }, + { + "Name": "SCHED_SP_BACKGROUND", + "Profiles": [ "HighEnergySaving", "LowIoPriority", "TimerSlackHigh" ] + }, + { + "Name": "SCHED_SP_FOREGROUND", + "Profiles": [ "HighPerformance", "HighIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "SCHED_SP_TOP_APP", + "Profiles": [ "MaxPerformance", "MaxIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "SCHED_SP_SYSTEM", + "Profiles": [ "ServicePerformance", "LowIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "SCHED_SP_RT_APP", + "Profiles": [ "RealtimePerformance", "MaxIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_DEFAULT", + "Profiles": [ "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_BACKGROUND", + "Profiles": [ "HighEnergySaving", "ProcessCapacityLow", "LowIoPriority", "TimerSlackHigh" ] + }, + { + "Name": "CPUSET_SP_FOREGROUND", + "Profiles": [ "HighPerformance", "ProcessCapacityHigh", "HighIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_TOP_APP", + "Profiles": [ "MaxPerformance", "ProcessCapacityMax", "MaxIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_SYSTEM", + "Profiles": [ "ServiceCapacityLow", "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_RESTRICTED", + "Profiles": [ "ServiceCapacityRestricted", "TimerSlackNormal" ] + }, + { + "Name": "Dex2OatBootComplete", + "Profiles": [ "SCHED_SP_BACKGROUND" ] + } + ] +} diff --git a/recovery/root/system/etc/twrp.flags b/recovery/root/system/etc/twrp.flags new file mode 100644 index 0000000..815ef34 --- /dev/null +++ b/recovery/root/system/etc/twrp.flags @@ -0,0 +1,67 @@ +# Android fstab file. +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK + +# Currently we dont have e2fsck compiled. So fs check would failed. + +# +# Boot partitions +/boot emmc /dev/block/bootdevice/by-name/boot flags=display="Boot";slotselect;backup=1;flashimg=1 +/dtbo emmc /dev/block/bootdevice/by-name/dtbo flags=display="DTBO";slotselect;backup=1;flashimg=1 +/vendor_boot emmc /dev/block/bootdevice/by-name/vendor_boot flags=display="Vendor Boot";slotselect;backup=1;flashimg=1 +/vbmeta emmc /dev/block/bootdevice/by-name/vbmeta flags=display="VBMeta";slotselect;backup=1;flashimg=1 +/vbmeta_system emmc /dev/block/bootdevice/by-name/vbmeta_system flags=display="System VBMeta";slotselect;backup=1;flashimg=1 +/recovery emmc /dev/block/bootdevice/by-name/recovery flags=display="Recovery";slotselect;backup=1;flashimg=1 +/logo emmc /dev/block/bootdevice/by-name/logo flags=display="Logo";slotselect;backup=1 +/misc emmc /dev/block/bootdevice/by-name/misc flags=display="Misc" + +# Logical partitions +/system ext4 system flags=display="System" +/system erofs system flags=display="System" +/system_ext ext4 system_ext flags=display="System EXT" +/system_ext erofs system_ext flags=display="System EXT" +/product ext4 product flags=display="Product" +/product erofs product flags=display="Product" +/vendor ext4 vendor flags=display="Vendor" +/vendor erofs vendor flags=display="Vendor" +/vendor_dlkm ext4 vendor_dlkm flags=display="Vendor DLKM" +/vendor_dlkm erofs vendor_dlkm flags=display="Vendor DLKM" + +# Flashable logical partitions +/system_image emmc /dev/block/bootdevice/by-name/system flags=display="System Image";backup=1;flashimg=1 +/system_ext_image emmc /dev/block/bootdevice/by-name/system_ext flags=display="System EXT Image";backup=1;flashimg=1 +/product_image emmc /dev/block/bootdevice/by-name/product flags=display="Product Image";backup=1;flashimg=1 +/vendor_image emmc /dev/block/bootdevice/by-name/vendor flags=display="Vendor Image";backup=1;flashimg=1 +/vendor_dlkm_image emmc /dev/block/bootdevice/by-name/vendor_dlkm flags=display="Vendor DLKM Image";backup=1;flashimg=1 + +# Data partitions +/metadata ext4 /dev/block/by-name/metadata flags=display="Metadata" + +# Firmware partitions +/persist ext4 /dev/block/bootdevice/by-name/persist flags=display="Persist" +/persist_image emmc /dev/block/bootdevice/by-name/persist flags=display="Persist";backup=1;flashimg=1 +/prodpersist ext4 /dev/block/bootdevice/by-name/prodpersist flags=display="Product Persist" +/prodpersist_image emmc /dev/block/bootdevice/by-name/prodpersist flags=display="Product Persist";backup=1;flashimg=1 +/firmware ext4 /dev/block/bootdevice/by-name/modem flags=display="Firmware";slotselect;fsflags="context=u:object_r:firmware_file:s0" +/bt_firmware ext4 /dev/block/bootdevice/by-name/bluetooth flags=display="Bluetooth";slotselect;fsflags="context=u:object_r:bt_firmware_file:s0" +/fsg ext4 /dev/block/bootdevice/by-name/fsg flags=display="FSG";slotselect;fsflags="context=u:object_r:fsg_file:s0" +/dsp ext4 /dev/block/bootdevice/by-name/dsp flags=display="DSP";slotselect +/modem_image emmc /dev/block/bootdevice/by-name/modem flags=display="Modem";slotselect;backup=1;flashimg=1 +/bluetooth_image emmc /dev/block/bootdevice/by-name/bluetooth flags=display="Bluetooth";slotselect;backup=1;flashimg=1 +/dsp_image emmc /dev/block/bootdevice/by-name/dsp flags=display="DSP";slotselect;backup=1;flashimg=1 +/efs1 emmc /dev/block/bootdevice/by-name/modemst1 flags=display="EFS";backup=1 +/efs2 emmc /dev/block/bootdevice/by-name/modemst2 flags=backup=1;subpartitionof=/efs1 +/efsc emmc /dev/block/bootdevice/by-name/fsc flags=backup=1;subpartitionof=/efs1 +/efsg emmc /dev/block/bootdevice/by-name/fsg flags=backup=1;subpartitionof=/efs1 + +# Removable storage +/usb_otg auto /dev/block/sdg1 /dev/block/sdg flags=display="USB-Storage";storage;wipeingui;removable +/storage ext4 /data/media/0 flags=display="Internal Storage";usermrf;backup=1;fsflags="bind";removable + + + + + + + + diff --git a/recovery/root/system/etc/vintf/compatibility_matrix.device.xml b/recovery/root/system/etc/vintf/compatibility_matrix.device.xml new file mode 100644 index 0000000..7359ed6 --- /dev/null +++ b/recovery/root/system/etc/vintf/compatibility_matrix.device.xml @@ -0,0 +1,1300 @@ + + + + android.hardware.automotive.evs + 1.1 + + IEvsEnumerator + default + hw/1 + + + + android.hardware.gnss + 1.0-1 + 2.0-1 + + IGnss + default + gnss_vendor + + + + android.hardware.media.c2 + 1.0 + + IComponentStore + default + software + + + + android.hardware.nfc + 1.0 + + INfc + default + + + + android.hardware.radio + 1.0-4 + + IRadio + slot1 + slot2 + + + ISap + slot1 + slot2 + + + + android.hardware.radio.config + 1.0-1 + + IRadioConfig + default + + + + android.hardware.uwb + 1.0 + + IUwb + default + + + + android.hardware.wifi.supplicant + 1.0-2 + + ISupplicant + default + wigigp2p + + + + com.dsi.ant + 1.0 + + IAnt + default + + + + com.motorola.hardware.biometric.fingerprint + 1.0 + + IMotoFingerPrint + default + + + IMotoFingerPrintSensorTest + default + + + + com.motorola.hardware.display.panel + 1.0-1 + + IDisplayPanel + default + + + + com.motorola.hardware.display.rollable + 1.0 + + IRollableDisplay + default + + + + com.motorola.hardware.display.stylus + 1.0-1 + + IMotStylus + default + + + + com.motorola.hardware.display.touch + 1.0-2 + + IMotTouch + default + + + + com.qualcomm.qti.dpm.api + 1.0 + + IdpmQmi + dpmQmiService + + + + com.qualcomm.qti.imscmservice + 2.0-2 + + IImsCmService + qti.ims.connectionmanagerservice + + + + com.qualcomm.qti.uceservice + 2.0-1 + 2.2 + 2.3 + + IUceService + com.qualcomm.qti.uceservice + + + + com.qualcomm.qti.wifidisplayhal + 1.0 + + IDSManager + wifidisplaydshal + + + IHDCPSession + wifidisplayhdcphal + + + + com.quicinc.cne.api + 1.0-1 + + IApiService + cnd + + + + com.quicinc.cne.server + 2.0-2 + + IServer + cnd + + + + motorola.hardware.audio.adspd + 1.0 + + IADSP + default + + + + motorola.hardware.camera.desktop + 1.0 + 2.0 + + ICameraDesktop + default + + + + motorola.hardware.camera.imgtuner + 1.0 + 2.0 + + IImageTuning + default + + + + motorola.hardware.fdrcontrol + 1.0-2 + + IFdrControl + default + + + + motorola.hardware.fmradio + 1.0 + + IMotFMRadio + default + + + + motorola.hardware.health + 2.0 + + IMotHealth + default + + + + motorola.hardware.health.storage + 1.0 + + IMotStorage + default + + + + motorola.hardware.input + 1.0 + + IMotInput + default + + + + motorola.hardware.light + 1.0 + + IMotLight + default + + + + motorola.hardware.paramupdater + 1.0 + + IParamUpdater + default + + + + motorola.hardware.paramupdater + 1.0 + + IParamUpdater + default + + + + motorola.hardware.power + + IPowerExt + default + + + + motorola.hardware.sxf + + IMotoSxf + default + + + + motorola.hardware.sxf + + IMotoSxf + default + + + + motorola.hardware.vibrator + 1.0 + + IMotVibrator + default + + + + motorola.hardware.wifi.supplicant + 1.0-1 + + ISupplicantMot + default + + + + motorola.hardware.wireless.powershare + 1.0 + 2.0 + + IMotPowerShare + default + + + + motorola.hardware.wireless.wlc + 1.0 + + IMotWlc + default + + + + vendor.display.color + 1.0-7 + + IDisplayColor + default + + + + vendor.display.config + 1.0-15 + 2.0 + + IDisplayConfig + default + + + + vendor.display.postproc + 1.0 + + IDisplayPostproc + default + + + + vendor.egistec.hardware.fingerprint + 4.0 + + IBiometricsFingerprintRbs + default + + + + vendor.goodix.hardware.biometrics.fingerprint + 2.1 + + IGoodixFingerprintDaemon + default + + + + vendor.nxp.hardware.nfc + 1.0-1 + 2.0 + + INqNfc + default + + + + vendor.nxp.nxpnfc + 2.0 + + INxpNfc + default + + + + vendor.nxp.nxpnfclegacy + 1.0 + + INxpNfcLegacy + default + + + + vendor.nxp.nxpnfclegacy + 1.0 + + INxpNfcLegacy + default + + + + vendor.qti.automotive.qcarcam + 1.0 + + IQcarCamera + default + + + + vendor.qti.data.factory + 1.0 + 2.0-5 + + IFactory + default + + + + vendor.qti.diaghal + 1.0 + + Idiag + default + + + + vendor.qti.dvr + 1.0 + + IDvrDisplay + default + + + + vendor.qti.esepowermanager + 1.0-1 + + IEsePowerManager + default + + + + vendor.qti.gnss + 1.0-2 + 2.0-1 + 3.0 + 4.0-1 + + ILocHidlGnss + gnss_vendor + + + + vendor.qti.gnss + + ILocAidlGnss + default + + + + vendor.qti.hardware.AGMIPC + 1.0 + + IAGM + default + + + + vendor.qti.hardware.ListenSoundModel + 1.0 + + IListenSoundModel + default + + + + vendor.qti.hardware.alarm + 1.0 + + IAlarm + default + + + + vendor.qti.hardware.audiohalext + 1.0 + + IAudioHalExt + default + + + + vendor.qti.hardware.bluetooth_audio + 2.0-1 + + IBluetoothAudioProvidersFactory + default + + + + vendor.qti.hardware.bluetooth_sar + 1.0-1 + + IBluetoothSar + default + + + + vendor.qti.hardware.btconfigstore + 1.0 + 2.0 + + IBTConfigStore + default + + + + vendor.qti.hardware.cacert + 1.0 + + IService + default + + + + vendor.qti.hardware.camera.aon + 1.0-1 + + IAONService + aoncameraservice + + + + vendor.qti.hardware.camera.postproc + 1.0 + + IPostProcService + camerapostprocservice + + + + vendor.qti.hardware.capabilityconfigstore + 1.0 + + ICapabilityConfigStore + default + + + + vendor.qti.hardware.cryptfshw + 1.0 + + ICryptfsHw + default + + + + vendor.qti.hardware.cvp + 1.0 + + ICvp + cvphalservice + + + + vendor.qti.hardware.data.connection + 1.0-1 + + IDataConnection + slot1 + slot2 + + + + vendor.qti.hardware.data.connectionfactory + + IFactory + slot0 + slot1 + + + + vendor.qti.hardware.data.iwlan + 1.0-1 + + IIWlan + slot1 + slot2 + + + + vendor.qti.hardware.data.latency + 1.0 + + ILinkLatency + default + + + + vendor.qti.hardware.debugutils + 1.0 + + IDebugUtils + default + + + + vendor.qti.hardware.display.allocator + 1.0 + 3.0 + 4.0 + + IQtiAllocator + default + + + + vendor.qti.hardware.display.composer + 2.0-1 + 3.0 + 3.1 + + IQtiComposer + default + + + + vendor.qti.hardware.display.config + 1-5 + + IDisplayConfig + default + + + + vendor.qti.hardware.display.demura + 1.0 + 2.0 + + IDemuraFileFinder + default + + + + vendor.qti.hardware.display.mapper + 2.0 + 3.0 + 4.0 + + IQtiMapper + default + + + + vendor.qti.hardware.dpmservice + 1.0-1 + + IDpmService + DpmService + + + + vendor.qti.hardware.dsp + 1.0 + + IDspService + dspservice + + + + vendor.qti.hardware.eid + 1.0 + + IEid + default + + + + vendor.qti.hardware.embmssl + 1.0-1 + + IEmbms + embmsslServer0 + + + + vendor.qti.hardware.fingerprint + 1.0 + + IQtiExtendedFingerprint + default + + + + vendor.qti.hardware.fm + 1.0 + + IFmHci + default + + + + vendor.qti.hardware.improvetouch.blobmanager + 1.0 + + IBlobManager + BlobManagerService + + + + vendor.qti.hardware.improvetouch.gesturemanager + 1.0 + + IGestureManager + GestureManagerService + + + + vendor.qti.hardware.improvetouch.touchcompanion + 1.0 + + ITouchCompanion + TouchCompanionService + + + + vendor.qti.hardware.iop + 2.0 + + IIop + default + + + + vendor.qti.hardware.limits + 1.0-1 + + ILimits + default + + + + vendor.qti.hardware.mwqemadapter + 1.0 + + IMwqemAdapter + MwqemAdapter + + + + vendor.qti.hardware.pal + 1.0 + + IPAL + default + + + + vendor.qti.hardware.perf + 2.0-3 + + IPerf + default + + + + vendor.qti.hardware.power.powermodule + 1.0 + + IPowerModule + default + + + + vendor.qti.hardware.qccsyshal + 1.0-1 + + IQccsyshal + qccsyshal + + + + vendor.qti.hardware.qccvndhal + 1.0 + + IQccvndhal + qccvndhal + + + + vendor.qti.hardware.qconfig + 1.0 + + IQConfig + default + + + + vendor.qti.hardware.qdutils_disp + 1.0 + + IQdutilsDisp + default + + + + vendor.qti.hardware.qseecom + 1.0 + + IQSEECom + default + + + + vendor.qti.hardware.qteeconnector + 1.0 + + IAppConnector + default + + + IGPAppConnector + default + + + + vendor.qti.hardware.qxr + + IQXRCoreService + default + + + + vendor.qti.hardware.qxr + + IQXRCamService + default + + + + vendor.qti.hardware.qxr + + IQXRSplitService + default + + + + vendor.qti.hardware.qxr + + IQXRModService + default + + + + vendor.qti.hardware.qxr + + IQXRAudioService + default + + + + vendor.qti.hardware.radio.am + 1.0 + + IQcRilAudio + slot1 + slot2 + + + + vendor.qti.hardware.radio.am + + IQcRilAudio + slot1 + slot2 + + + + vendor.qti.hardware.radio.ims + 1.0-8 + + IImsRadio + imsradio0 + imsradio1 + + + + vendor.qti.hardware.radio.ims + 1-6 + + IImsRadio + imsradio0 + imsradio1 + + + + vendor.qti.hardware.radio.internal.deviceinfo + 1.0 + + IDeviceInfo + deviceinfo + + + + vendor.qti.hardware.radio.lpa + 1.0-2 + + IUimLpa + UimLpa0 + UimLpa1 + + + + vendor.qti.hardware.radio.qcrilhook + 1.0 + + IQtiOemHook + oemhook0 + oemhook1 + + + + vendor.qti.hardware.radio.qtiradio + 1.0 + 2.0-6 + + IQtiRadio + slot1 + slot2 + + + + vendor.qti.hardware.radio.qtiradio + 1-5 + + IQtiRadioStable + slot1 + slot2 + + + + vendor.qti.hardware.radio.uim + 1.1-2 + + IUim + Uim0 + Uim1 + + + + vendor.qti.hardware.radio.uim_remote_client + 1.0 + + IUimRemoteServiceClient + uimRemoteClient0 + uimRemoteClient1 + + + + vendor.qti.hardware.radio.uim_remote_server + 1.0 + + IUimRemoteServiceServer + uimRemoteServer0 + uimRemoteServer1 + + + + vendor.qti.hardware.scve.objecttracker + 1.0 + + IObjectTracker + objectTracker + + + + vendor.qti.hardware.scve.panorama + 1.0 + + IPanoramaStitching + panoStitching + + + IPanoramaTracking + panoTracking + + + + vendor.qti.hardware.seccam + 1.0 + + ISecCam + default + + + + vendor.qti.hardware.secureprocessor.device + 1.0 + + ISecureProcessor + qti-tee + + + + vendor.qti.hardware.sensorscalibrate + 1.0 + + ISensorsCalibrate + default + + + + vendor.qti.hardware.servicetracker + 1.0-2 + + IServicetracker + default + + + + vendor.qti.hardware.slmadapter + 1.0 + + ISlmAdapter + SlmAdapter + + + + vendor.qti.hardware.soter + 1.0 + + ISoter + default + + + + vendor.qti.hardware.sxrhal + 1.0 + + ISxrCrypto + sxrhalservice + + + + vendor.qti.hardware.systemhelper + 1.0 + + ISystemEvent + default + + + ISystemResource + default + + + + vendor.qti.hardware.trustedui + 1.0-2 + + ITrustedInput + default + qtee-vm + + + ITrustedUI + default + qtee-vm + + + + vendor.qti.hardware.tui_comm + 1.0 + + ITuiComm + default + + + + vendor.qti.hardware.vpp + 1.1-3 + 2.0 + + IHidlVppService + vppService + + + + vendor.qti.hardware.wifi.hostapd + 1.0-3 + + IHostapdVendor + default + wigighostapd + + + + vendor.qti.hardware.wifi.supplicant + 2.0-3 + + ISupplicantVendor + default + + + + vendor.qti.hardware.wifi.wificfr + 1.0 + + IWificfr + wificfr + + + + vendor.qti.hardware.wifi.wifilearner + 1.0 + + IWifiStats + wifiStats + + + + vendor.qti.hardware.wifi.wifimyftm + 1.0 + + IWifiMyFtm + default + + + + vendor.qti.hardware.wifidisplaysession + 1.0 + + IWifiDisplaySession + wifidisplaysession + + + IWifiDisplaySessionAudioTrack + wifidisplaysessionaudiotrack + + + IWifiDisplaySessionImageTrack + wifidisplaysessionimagetrack + + + IWifiDisplaySessionVideoTrack + wifidisplaysessionvideotrack + + + + vendor.qti.hardware.wipower + 1.0 + + IWipower + default + + + + vendor.qti.ims.callinfo + 1.0 + + IService + default + + + + vendor.qti.ims.factory + 1.0-1 + 2.0-1 + + IImsFactory + default + + + + vendor.qti.imsrtpservice + 3.0 + + IRTPService + imsrtpservice + + + + vendor.qti.memory.pasrmanager + 1.0-1 + + IPasrManager + pasrhal + + + + vendor.qti.mstatservice + 1.0 + + IMStatService + mstatservice + + + + vendor.qti.power.pasrmanager + 1.0 + + IPasrManager + default + + + + vendor.qti.qesdhal + 1.0-1 + + IQesdhal + default + + + + vendor.qti.qspmhal + 1.0 + + IQspmhal + default + + + + vendor.qti.spu + 1.0-1 + 2.0 + + ISPUManager + default + + + + vendor.qti.voiceprint + 1.0 + + IQtiVoicePrintService + default + + + + vendor.trustonic.tee + 1.1 + + ITee + default + + + + vendor.trustonic.tee.tui + 1.0 + + ITui + default + + + + vendor.trustonic.teeregistry + 1.0 + + ITeeRegistry + default + + + + vendor.zui.hardware.ifaa + 1.0 + + IIFAADevice + default + + + + vendor.zuialarm.hardware.alarm + 1.0 + + IAlarm + default + + + + 30 + 26.0 + 27.0 + 28.0 + 29.0 + 30.0 + 31.0 + + + 1.0 + + diff --git a/recovery/root/system/etc/vintf/manifest.xml b/recovery/root/system/etc/vintf/manifest.xml new file mode 100644 index 0000000..4e924d7 --- /dev/null +++ b/recovery/root/system/etc/vintf/manifest.xml @@ -0,0 +1,154 @@ + + + + android.frameworks.displayservice + hwbinder + 1.0 + + IDisplayService + default + + @1.0::IDisplayService/default + + + android.frameworks.schedulerservice + hwbinder + 1.0 + + ISchedulingPolicyService + default + + @1.0::ISchedulingPolicyService/default + + + android.frameworks.sensorservice + hwbinder + 1.0 + + ISensorManager + default + + @1.0::ISensorManager/default + + + android.hidl.manager + hwbinder + 1.2 + + IServiceManager + default + + @1.2::IServiceManager/default + + + android.hidl.memory + passthrough + 1.0 + + IMapper + ashmem + + @1.0::IMapper/ashmem + + + android.hidl.token + hwbinder + 1.0 + + ITokenManager + default + + @1.0::ITokenManager/default + + + android.system.net.netd + hwbinder + 1.1 + + INetd + default + + @1.1::INetd/default + + + android.system.wifi.keystore + hwbinder + 1.0 + + IKeystore + default + + @1.0::IKeystore/default + + + netutils-wrapper + 1.0 + + + vendor.qti.hardware.qccsyshal + hwbinder + 1.1 + + IQccsyshal + qccsyshal + + @1.1::IQccsyshal/qccsyshal + + + vendor.qti.hardware.radio.atcmdfwd + hwbinder + 1.0 + + IAtCmdFwd + AtCmdFwdService + + @1.0::IAtCmdFwd/AtCmdFwdService + + + vendor.qti.hardware.sigma_miracast + hwbinder + 1.0 + + Isigma_miracast + sigmahal + sigmahal64 + + @1.0::Isigma_miracast/sigmahal + @1.0::Isigma_miracast/sigmahal64 + + + vendor.qti.hardware.systemhelper + hwbinder + 1.0 + + ISystemEvent + default + + + ISystemResource + default + + @1.0::ISystemEvent/default + @1.0::ISystemResource/default + + + vendor.qti.hardware.wifi.keystore + hwbinder + 1.0 + + IKeystoreExt + default + + @1.0::IKeystoreExt/default + + + 28 + 29 + 30 + 31 + + diff --git a/recovery/root/vendor/etc/gpfspath_oem_config.xml b/recovery/root/vendor/etc/gpfspath_oem_config.xml new file mode 100644 index 0000000..6b2e82a --- /dev/null +++ b/recovery/root/vendor/etc/gpfspath_oem_config.xml @@ -0,0 +1,61 @@ + + + + + + + /data/vendor/tzstorage/ + /mnt/vendor/persist/data/ + 4 + /data/system/users/ + /data/misc/qsee/ + /qwes + /qwes/licenses + diff --git a/recovery/root/vendor/etc/init/android.hardware.keymaster@4.0-strongbox-service-qti.rc b/recovery/root/vendor/etc/init/android.hardware.keymaster@4.0-strongbox-service-qti.rc new file mode 100644 index 0000000..39b1306 --- /dev/null +++ b/recovery/root/vendor/etc/init/android.hardware.keymaster@4.0-strongbox-service-qti.rc @@ -0,0 +1,10 @@ +on property:hwservicemanager.ready=true && property:vendor.sys.listeners.registered=true + start keymaster-4-1-qti + start keymaster-sb-4-0 + +service keymaster-sb-4-0 /system/bin/android.hardware.keymaster@4.0-strongbox-service-qti + user root + group root + setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib:/system/lib64:/system/lib:/sbin + disabled + seclabel u:r:recovery:s0 diff --git a/recovery/root/vendor/etc/init/android.hardware.security.keymint-service-qti.rc b/recovery/root/vendor/etc/init/android.hardware.security.keymint-service-qti.rc new file mode 100644 index 0000000..8d5706f --- /dev/null +++ b/recovery/root/vendor/etc/init/android.hardware.security.keymint-service-qti.rc @@ -0,0 +1,13 @@ +# Copyright (c) 2021 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. + +on property:hwservicemanager.ready=true && property:vendor.sys.listeners.registered=true + start keymint-qti + +service keymint-qti /system/bin/android.hardware.security.keymint-service-qti + user root + group root + setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib:/system/lib64:/system/lib:/sbin + disabled + seclabel u:r:recovery:s0 diff --git a/recovery/root/vendor/etc/init/init.spdaemon.rc b/recovery/root/vendor/etc/init/init.spdaemon.rc new file mode 100644 index 0000000..86ea7a3 --- /dev/null +++ b/recovery/root/vendor/etc/init/init.spdaemon.rc @@ -0,0 +1,19 @@ +on post-fs + start vendor.spdaemon + start vendor.sec_nvm + +service vendor.spdaemon /system/bin/spdaemon + user root + group root + setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib:/system/lib64:/system/lib:/sbin + disabled + seclabel u:r:recovery:s0 + shutdown critical + +service vendor.sec_nvm /system/bin/sec_nvm + user root + group root + setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib:/system/lib64:/system/lib:/sbin + disabled + seclabel u:r:recovery:s0 + diff --git a/recovery/root/vendor/etc/init/init.spuservice.rc b/recovery/root/vendor/etc/init/init.spuservice.rc new file mode 100644 index 0000000..ef027d4 --- /dev/null +++ b/recovery/root/vendor/etc/init/init.spuservice.rc @@ -0,0 +1,15 @@ +##################################################################### +# Copyright (c) 2021-2022 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +##################################################################### + +on boot + start spuservice + +service spuservice /system/bin/vendor.qti.spu@2.0-service + user root + group root + setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib:/system/lib64:/system/lib:/sbin + disabled + seclabel u:r:recovery:s0 diff --git a/recovery/root/vendor/etc/init/init.vendor.qti.spu@1.1-service.rc b/recovery/root/vendor/etc/init/init.vendor.qti.spu@1.1-service.rc new file mode 100644 index 0000000..736aec1 --- /dev/null +++ b/recovery/root/vendor/etc/init/init.vendor.qti.spu@1.1-service.rc @@ -0,0 +1,15 @@ +##################################################################### +# Copyright (c) 2019-2022 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +##################################################################### + +on boot + start spu_service + +service spu_service /system/bin/vendor.qti.spu@1.1-service + user root + group root + setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib:/system/lib64:/system/lib:/sbin + disabled + seclabel u:r:recovery:s0 diff --git a/recovery/root/vendor/etc/init/vendor.qti.hardware.qteeconnector@1.0-service.rc b/recovery/root/vendor/etc/init/vendor.qti.hardware.qteeconnector@1.0-service.rc new file mode 100644 index 0000000..2322435 --- /dev/null +++ b/recovery/root/vendor/etc/init/vendor.qti.hardware.qteeconnector@1.0-service.rc @@ -0,0 +1,9 @@ +on property:ro.crypto.state=encrypted && property:hwservicemanager.ready=true + start qteeconnector-hal-1-0 + +service qteeconnector-hal-1-0 /system/bin/vendor.qti.hardware.qteeconnector@1.0-service + user root + group root + setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib:/system/lib64:/system/lib:/sbin + disabled + seclabel u:r:recovery:s0 diff --git a/recovery/root/vendor/etc/init/vendor.qti.hardware.vibrator.service.rc b/recovery/root/vendor/etc/init/vendor.qti.hardware.vibrator.service.rc new file mode 100644 index 0000000..5045c37 --- /dev/null +++ b/recovery/root/vendor/etc/init/vendor.qti.hardware.vibrator.service.rc @@ -0,0 +1,22 @@ +on late-init + write /sys/class/leds/vibrator/trigger "transient" + +on late-fs + chmod 0666 /dev/qcom_haptic + chown system system /dev/qcom_haptic + +on boot + start qti.vibrator + +on property:sys.boot_completed=1 + setprop vendor.haptic.calibrate.done 1 + +service qti.vibrator /system/bin/vendor.qti.hardware.vibrator.service + class hal + user root + group root + disabled + setenv LD_LIBRARY_PATH /vendor/lib64:/vendor/lib:/system/lib64:/system/lib:/sbin + setenv RICHTAP_DEVICE_PATH /dev/qcom_haptic + setenv ENV_RICHTAP_CONFIG_PATH /odm/etc/aac_richtap.config + seclabel u:r:recovery:s0 diff --git a/recovery/root/vendor/etc/vintf/compatibility_matrix.xml b/recovery/root/vendor/etc/vintf/compatibility_matrix.xml new file mode 100644 index 0000000..459c197 --- /dev/null +++ b/recovery/root/vendor/etc/vintf/compatibility_matrix.xml @@ -0,0 +1,85 @@ + + + + android.frameworks.sensorservice + 1.0 + + ISensorManager + default + + + + android.hidl.allocator + 1.0 + + IAllocator + ashmem + + + + android.hidl.manager + 1.0 + + IServiceManager + default + + + + android.hidl.memory + 1.0 + + IMapper + ashmem + + + + android.hidl.token + 1.0 + + ITokenManager + default + + + + android.system.wifi.keystore + 1.0 + + IKeystore + default + + + + vendor.qti.hardware.qccsyshal + 1.0-1 + + IQccsyshal + qccsyshal + + + + vendor.qti.hardware.sigma_miracast + 1.0 + + Isigma_miracast + sigmahal + sigmahal64 + + + + vendor.qti.hardware.wifi.keystore + 1.0 + + IKeystoreExt + default + + + + 31 + + + 31 + + diff --git a/recovery/root/vendor/etc/vintf/manifest.xml b/recovery/root/vendor/etc/vintf/manifest.xml new file mode 100644 index 0000000..ce47e33 --- /dev/null +++ b/recovery/root/vendor/etc/vintf/manifest.xml @@ -0,0 +1,857 @@ + + + + android.hardware.audio + hwbinder + 7.0 + + IDevicesFactory + default + + @7.0::IDevicesFactory/default + + + android.hardware.audio.effect + hwbinder + 7.0 + + IEffectsFactory + default + + @7.0::IEffectsFactory/default + + + android.hardware.biometrics.fingerprint + hwbinder + 2.1 + + IBiometricsFingerprint + default + + @2.1::IBiometricsFingerprint/default + + + android.hardware.bluetooth + hwbinder + 1.0 + + IBluetoothHci + default + + @1.0::IBluetoothHci/default + + + android.hardware.bluetooth.audio + hwbinder + 2.0 + + IBluetoothAudioProvidersFactory + default + + @2.0::IBluetoothAudioProvidersFactory/default + + + android.hardware.boot + hwbinder + 1.2 + + IBootControl + default + + @1.2::IBootControl/default + + + android.hardware.camera.provider + hwbinder + 2.7 + + ICameraProvider + legacy/1 + + @2.7::ICameraProvider/legacy/1 + + + android.hardware.camera.provider + hwbinder + @2.4::ICameraProvider/external/0 + + + android.hardware.drm + hwbinder + @1.3::ICryptoFactory/wfdhdcp + @1.3::IDrmFactory/wfdhdcp + + + android.hardware.gatekeeper + hwbinder + 1.0 + + IGatekeeper + default + + @1.0::IGatekeeper/default + + + android.hardware.keymaster + hwbinder + @4.1::IKeymasterDevice/default + + + android.hardware.keymaster + hwbinder + @4.0::IKeymasterDevice/strongbox + + + android.hardware.media.omx + hwbinder + 1.0 + + IOmx + default + + + IOmxStore + default + + @1.0::IOmx/default + @1.0::IOmxStore/default + + + android.hardware.nfc + hwbinder + 1.2 + + INfc + default + + @1.2::INfc/default + + + android.hardware.radio + hwbinder + @1.2::ISap/slot1 + @1.2::ISap/slot2 + @1.6::IRadio/slot1 + @1.6::IRadio/slot2 + + + android.hardware.radio.config + hwbinder + 1.3 + + IRadioConfig + default + + @1.3::IRadioConfig/default + + + android.hardware.secure_element + hwbinder + 1.2 + + ISecureElement + SIM1 + SIM2 + eSE1 + + @1.2::ISecureElement/SIM1 + @1.2::ISecureElement/SIM2 + @1.2::ISecureElement/eSE1 + + + android.hardware.tetheroffload.config + hwbinder + 1.0 + + IOffloadConfig + default + + @1.0::IOffloadConfig/default + + + android.hardware.tetheroffload.control + hwbinder + 1.1 + + IOffloadControl + default + + @1.1::IOffloadControl/default + + + com.motorola.hardware.biometric.fingerprint + hwbinder + 1.0 + + IMotoFingerPrint + default + + + IMotoFingerPrintSensorTest + default + + @1.0::IMotoFingerPrint/default + @1.0::IMotoFingerPrintSensorTest/default + + + com.motorola.hardware.display.panel + hwbinder + 1.1 + + IDisplayPanel + default + + @1.1::IDisplayPanel/default + + + com.motorola.hardware.display.touch + hwbinder + 1.2 + + IMotTouch + default + + @1.2::IMotTouch/default + + + com.qualcomm.qti.dpm.api + hwbinder + 1.0 + + IdpmQmi + dpmQmiService + + @1.0::IdpmQmi/dpmQmiService + + + com.qualcomm.qti.imscmservice + hwbinder + 2.2 + + IImsCmService + qti.ims.connectionmanagerservice + + @2.2::IImsCmService/qti.ims.connectionmanagerservice + + + com.qualcomm.qti.uceservice + hwbinder + 2.3 + + IUceService + com.qualcomm.qti.uceservice + + @2.3::IUceService/com.qualcomm.qti.uceservice + + + motorola.hardware.camera.desktop + hwbinder + 1.0 + 2.0 + + ICameraDesktop + default + + @1.0::ICameraDesktop/default + @2.0::ICameraDesktop/default + + + motorola.hardware.camera.imgtuner + hwbinder + 1.0 + 2.0 + + IImageTuning + default + + @1.0::IImageTuning/default + @2.0::IImageTuning/default + + + motorola.hardware.health + hwbinder + 2.0 + + IMotHealth + default + + @2.0::IMotHealth/default + + + motorola.hardware.health.storage + hwbinder + 1.0 + + IMotStorage + default + + @1.0::IMotStorage/default + + + motorola.hardware.paramupdater + hwbinder + 1.0 + + IParamUpdater + default + + @1.0::IParamUpdater/default + + + motorola.hardware.wifi.supplicant + hwbinder + 1.1 + + ISupplicantMot + default + + @1.1::ISupplicantMot/default + + + motorola.hardware.wireless.powershare + hwbinder + 1.0 + + IMotPowerShare + default + + @1.0::IMotPowerShare/default + + + motorola.hardware.wireless.wlc + hwbinder + 2.0 + + IMotWlc + default + + @2.0::IMotWlc/default + + + vendor.egistec.hardware.fingerprint + hwbinder + 4.0 + + IBiometricsFingerprintRbs + default + + @4.0::IBiometricsFingerprintRbs/default + + + vendor.nxp.hardware.nfc + hwbinder + 2.0 + + INqNfc + default + + @2.0::INqNfc/default + + + vendor.qti.data.factory + hwbinder + 2.5 + + IFactory + default + + @2.5::IFactory/default + + + vendor.qti.esepowermanager + hwbinder + 1.1 + + IEsePowerManager + default + + @1.1::IEsePowerManager/default + + + vendor.qti.hardware.AGMIPC + hwbinder + 1.0 + + IAGM + default + + @1.0::IAGM/default + + + vendor.qti.hardware.alarm + hwbinder + 1.0 + + IAlarm + default + + @1.0::IAlarm/default + + + vendor.qti.hardware.bluetooth_audio + hwbinder + 2.1 + + IBluetoothAudioProvidersFactory + default + + @2.1::IBluetoothAudioProvidersFactory/default + + + vendor.qti.hardware.bluetooth_sar + hwbinder + 1.1 + + IBluetoothSar + default + + @1.1::IBluetoothSar/default + + + vendor.qti.hardware.btconfigstore + hwbinder + 2.0 + + IBTConfigStore + default + + @2.0::IBTConfigStore/default + + + vendor.qti.hardware.cacert + hwbinder + 1.0 + + IService + default + + @1.0::IService/default + + + vendor.qti.hardware.camera.aon + hwbinder + 1.0 + + IAONService + aoncameraservice + + @1.0::IAONService/aoncameraservice + + + vendor.qti.hardware.camera.postproc + hwbinder + 1.0 + + IPostProcService + camerapostprocservice + + @1.0::IPostProcService/camerapostprocservice + + + vendor.qti.hardware.capabilityconfigstore + hwbinder + 1.0 + + ICapabilityConfigStore + default + + @1.0::ICapabilityConfigStore/default + + + vendor.qti.hardware.data.connection + hwbinder + 1.1 + + IDataConnection + slot1 + slot2 + + @1.1::IDataConnection/slot1 + @1.1::IDataConnection/slot2 + + + vendor.qti.hardware.data.iwlan + hwbinder + 1.1 + + IIWlan + slot1 + slot2 + + @1.1::IIWlan/slot1 + @1.1::IIWlan/slot2 + + + vendor.qti.hardware.data.latency + hwbinder + 1.0 + + ILinkLatency + default + + @1.0::ILinkLatency/default + + + vendor.qti.hardware.dpmservice + hwbinder + 1.1 + + IDpmService + DpmService + + @1.1::IDpmService/DpmService + + + vendor.qti.hardware.dsp + hwbinder + 1.0 + + IDspService + dspservice + + @1.0::IDspService/dspservice + + + vendor.qti.hardware.eid + hwbinder + 1.0 + + IEid + default + + @1.0::IEid/default + + + vendor.qti.hardware.embmssl + hwbinder + 1.1 + + IEmbms + embmsslServer0 + + @1.1::IEmbms/embmsslServer0 + + + vendor.qti.hardware.iop + hwbinder + 2.0 + + IIop + default + + @2.0::IIop/default + + + vendor.qti.hardware.mwqemadapter + hwbinder + 1.0 + + IMwqemAdapter + MwqemAdapter + + @1.0::IMwqemAdapter/MwqemAdapter + + + vendor.qti.hardware.pal + hwbinder + 1.0 + + IPAL + default + + @1.0::IPAL/default + + + vendor.qti.hardware.qccvndhal + hwbinder + 1.0 + + IQccvndhal + qccvndhal + + @1.0::IQccvndhal/qccvndhal + + + vendor.qti.hardware.qseecom + hwbinder + 1.0 + + IQSEECom + default + + @1.0::IQSEECom/default + + + vendor.qti.hardware.qteeconnector + hwbinder + 1.0 + + IAppConnector + default + + + IGPAppConnector + default + + @1.0::IAppConnector/default + @1.0::IGPAppConnector/default + + + vendor.qti.hardware.radio.am + hwbinder + 1.0 + + IQcRilAudio + slot1 + slot2 + + @1.0::IQcRilAudio/slot1 + @1.0::IQcRilAudio/slot2 + + + vendor.qti.hardware.radio.internal.deviceinfo + hwbinder + 1.0 + + IDeviceInfo + deviceinfo + + @1.0::IDeviceInfo/deviceinfo + + + vendor.qti.hardware.radio.lpa + hwbinder + 1.2 + + IUimLpa + UimLpa0 + UimLpa1 + + @1.2::IUimLpa/UimLpa0 + @1.2::IUimLpa/UimLpa1 + + + vendor.qti.hardware.radio.qcrilhook + hwbinder + 1.0 + + IQtiOemHook + oemhook0 + oemhook1 + + @1.0::IQtiOemHook/oemhook0 + @1.0::IQtiOemHook/oemhook1 + + + vendor.qti.hardware.radio.qtiradio + hwbinder + 1.0 + + IQtiRadio + slot1 + slot2 + + @1.0::IQtiRadio/slot1 + @1.0::IQtiRadio/slot2 + + + vendor.qti.hardware.radio.qtiradio + hwbinder + 2.6 + + IQtiRadio + slot1 + slot2 + + @2.6::IQtiRadio/slot1 + @2.6::IQtiRadio/slot2 + + + vendor.qti.hardware.radio.uim + hwbinder + 1.2 + + IUim + Uim0 + Uim1 + + @1.2::IUim/Uim0 + @1.2::IUim/Uim1 + + + vendor.qti.hardware.radio.uim_remote_client + hwbinder + 1.0 + + IUimRemoteServiceClient + uimRemoteClient0 + uimRemoteClient1 + + @1.0::IUimRemoteServiceClient/uimRemoteClient0 + @1.0::IUimRemoteServiceClient/uimRemoteClient1 + + + vendor.qti.hardware.radio.uim_remote_server + hwbinder + 1.0 + + IUimRemoteServiceServer + uimRemoteServer0 + uimRemoteServer1 + + @1.0::IUimRemoteServiceServer/uimRemoteServer0 + @1.0::IUimRemoteServiceServer/uimRemoteServer1 + + + vendor.qti.hardware.sensorscalibrate + hwbinder + 1.0 + + ISensorsCalibrate + default + + @1.0::ISensorsCalibrate/default + + + vendor.qti.hardware.soter + hwbinder + 1.0 + + ISoter + default + + @1.0::ISoter/default + + + vendor.qti.hardware.wifi.wifilearner + hwbinder + 1.0 + + IWifiStats + wifiStats + + @1.0::IWifiStats/wifiStats + + + vendor.qti.hardware.wifidisplaysession + hwbinder + 1.0 + + IWifiDisplaySession + wifidisplaysession + + + IWifiDisplaySessionAudioTrack + wifidisplaysessionaudiotrack + + + IWifiDisplaySessionImageTrack + wifidisplaysessionimagetrack + + + IWifiDisplaySessionVideoTrack + wifidisplaysessionvideotrack + + @1.0::IWifiDisplaySession/wifidisplaysession + @1.0::IWifiDisplaySessionAudioTrack/wifidisplaysessionaudiotrack + @1.0::IWifiDisplaySessionImageTrack/wifidisplaysessionimagetrack + @1.0::IWifiDisplaySessionVideoTrack/wifidisplaysessionvideotrack + + + vendor.qti.ims.callinfo + hwbinder + 1.0 + + IService + default + + @1.0::IService/default + + + vendor.qti.ims.factory + hwbinder + 1.1 + 2.2 + + IImsFactory + default + + @1.1::IImsFactory/default + @2.2::IImsFactory/default + + + vendor.qti.imsrtpservice + hwbinder + 3.0 + + IRTPService + imsrtpservice + + @3.0::IRTPService/imsrtpservice + + + vendor.qti.memory.pasrmanager + hwbinder + + + vendor.qti.qesdhal + hwbinder + 1.1 + + IQesdhal + default + + @1.1::IQesdhal/default + + + vendor.qti.qspmhal + hwbinder + 1.0 + + IQspmhal + default + + @1.0::IQspmhal/default + + + vendor.qti.spu + hwbinder + 1.1 + + ISPUManager + default + + @1.1::ISPUManager/default + + + vendor.qti.spu + hwbinder + 2.0 + + ISPUManager + default + + @2.0::ISPUManager/default + + + vendor.zui.hardware.ifaa + hwbinder + 1.0 + + IIFAADevice + default + + @1.0::IIFAADevice/default + + + 31.0 + + + diff --git a/recovery/root/vendor/etc/vintf/manifest/android.hardware.security.keymint-service-qti.xml b/recovery/root/vendor/etc/vintf/manifest/android.hardware.security.keymint-service-qti.xml new file mode 100644 index 0000000..a6d80fd --- /dev/null +++ b/recovery/root/vendor/etc/vintf/manifest/android.hardware.security.keymint-service-qti.xml @@ -0,0 +1,42 @@ + + + + + android.hardware.security.keymint + IKeyMintDevice/default + + + android.hardware.security.sharedsecret + ISharedSecret/default + + + android.hardware.security.secureclock + ISecureClock/default + + + android.hardware.security.keymint + IRemotelyProvisionedComponent/default + + diff --git a/recovery/root/vendor/etc/vintf/manifest/vendor.qti.hardware.vibrator.service.xml b/recovery/root/vendor/etc/vintf/manifest/vendor.qti.hardware.vibrator.service.xml new file mode 100644 index 0000000..e61fc07 --- /dev/null +++ b/recovery/root/vendor/etc/vintf/manifest/vendor.qti.hardware.vibrator.service.xml @@ -0,0 +1,34 @@ + + + + android.hardware.vibrator + 2 + IVibrator/default + + diff --git a/recovery/root/vendor/firmware/boe_goodix_cfg_group.bin b/recovery/root/vendor/firmware/boe_goodix_cfg_group.bin new file mode 100644 index 0000000..db06ae5 Binary files /dev/null and b/recovery/root/vendor/firmware/boe_goodix_cfg_group.bin differ diff --git a/recovery/root/vendor/firmware/goodix-boe-gt9916S-24010501-6597AA91-avatrn.bin b/recovery/root/vendor/firmware/goodix-boe-gt9916S-24010501-6597AA91-avatrn.bin new file mode 100644 index 0000000..d86dd14 Binary files /dev/null and b/recovery/root/vendor/firmware/goodix-boe-gt9916S-24010501-6597AA91-avatrn.bin differ diff --git a/recovery/root/vendor/firmware/goodix-tm-gt9916S-24031504-65F3E04F-avatrn.bin b/recovery/root/vendor/firmware/goodix-tm-gt9916S-24031504-65F3E04F-avatrn.bin new file mode 100644 index 0000000..93face2 Binary files /dev/null and b/recovery/root/vendor/firmware/goodix-tm-gt9916S-24031504-65F3E04F-avatrn.bin differ diff --git a/recovery/root/vendor/firmware/tm_goodix_cfg_group.bin b/recovery/root/vendor/firmware/tm_goodix_cfg_group.bin new file mode 100644 index 0000000..9f1b415 Binary files /dev/null and b/recovery/root/vendor/firmware/tm_goodix_cfg_group.bin differ diff --git a/recovery/root/vendor/lib64/android.hardware.secure_element@1.0.so b/recovery/root/vendor/lib64/android.hardware.secure_element@1.0.so new file mode 100644 index 0000000..0dcd569 Binary files /dev/null and b/recovery/root/vendor/lib64/android.hardware.secure_element@1.0.so differ diff --git a/recovery/root/vendor/lib64/android.hardware.secure_element@1.1.so b/recovery/root/vendor/lib64/android.hardware.secure_element@1.1.so new file mode 100644 index 0000000..d9c9fba Binary files /dev/null and b/recovery/root/vendor/lib64/android.hardware.secure_element@1.1.so differ diff --git a/recovery/root/vendor/lib64/android.hardware.secure_element@1.2.so b/recovery/root/vendor/lib64/android.hardware.secure_element@1.2.so new file mode 100644 index 0000000..23201ab Binary files /dev/null and b/recovery/root/vendor/lib64/android.hardware.secure_element@1.2.so differ diff --git a/recovery/root/vendor/lib64/hw/android.hardware.boot@1.0-impl-1.2-qti.so b/recovery/root/vendor/lib64/hw/android.hardware.boot@1.0-impl-1.2-qti.so new file mode 100644 index 0000000..ca732f8 Binary files /dev/null and b/recovery/root/vendor/lib64/hw/android.hardware.boot@1.0-impl-1.2-qti.so differ diff --git a/recovery/root/vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so b/recovery/root/vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so new file mode 100644 index 0000000..cd7249c Binary files /dev/null and b/recovery/root/vendor/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so differ diff --git a/recovery/root/vendor/lib64/hw/android.hardware.health@2.0-impl-2.1-qti.so b/recovery/root/vendor/lib64/hw/android.hardware.health@2.0-impl-2.1-qti.so new file mode 100644 index 0000000..1c97e0d Binary files /dev/null and b/recovery/root/vendor/lib64/hw/android.hardware.health@2.0-impl-2.1-qti.so differ diff --git a/recovery/root/vendor/lib64/hw/vendor.qti.hardware.qteeconnector@1.0-impl.so b/recovery/root/vendor/lib64/hw/vendor.qti.hardware.qteeconnector@1.0-impl.so new file mode 100644 index 0000000..f57cc71 Binary files /dev/null and b/recovery/root/vendor/lib64/hw/vendor.qti.hardware.qteeconnector@1.0-impl.so differ diff --git a/recovery/root/vendor/lib64/libGPQTEEC_vendor.so b/recovery/root/vendor/lib64/libGPQTEEC_vendor.so new file mode 100644 index 0000000..822c3e6 Binary files /dev/null and b/recovery/root/vendor/lib64/libGPQTEEC_vendor.so differ diff --git a/recovery/root/vendor/lib64/libGPTEE_vendor.so b/recovery/root/vendor/lib64/libGPTEE_vendor.so new file mode 100644 index 0000000..fda7498 Binary files /dev/null and b/recovery/root/vendor/lib64/libGPTEE_vendor.so differ diff --git a/recovery/root/vendor/lib64/libGPreqcancel.so b/recovery/root/vendor/lib64/libGPreqcancel.so new file mode 100644 index 0000000..9b4c2e5 Binary files /dev/null and b/recovery/root/vendor/lib64/libGPreqcancel.so differ diff --git a/recovery/root/vendor/lib64/libGPreqcancel_svc.so b/recovery/root/vendor/lib64/libGPreqcancel_svc.so new file mode 100644 index 0000000..ba57ee4 Binary files /dev/null and b/recovery/root/vendor/lib64/libGPreqcancel_svc.so differ diff --git a/recovery/root/vendor/lib64/libQSEEComAPI.so b/recovery/root/vendor/lib64/libQSEEComAPI.so new file mode 100644 index 0000000..b586bdc Binary files /dev/null and b/recovery/root/vendor/lib64/libQSEEComAPI.so differ diff --git a/recovery/root/vendor/lib64/libQTEEConnector_listener.so b/recovery/root/vendor/lib64/libQTEEConnector_listener.so new file mode 100644 index 0000000..d93b461 Binary files /dev/null and b/recovery/root/vendor/lib64/libQTEEConnector_listener.so differ diff --git a/recovery/root/vendor/lib64/libQTEEConnector_vendor.so b/recovery/root/vendor/lib64/libQTEEConnector_vendor.so new file mode 100644 index 0000000..ba9435c Binary files /dev/null and b/recovery/root/vendor/lib64/libQTEEConnector_vendor.so differ diff --git a/recovery/root/vendor/lib64/libaacvibrator.so b/recovery/root/vendor/lib64/libaacvibrator.so new file mode 100644 index 0000000..25ba437 Binary files /dev/null and b/recovery/root/vendor/lib64/libaacvibrator.so differ diff --git a/recovery/root/vendor/lib64/libboot_control_qti.so b/recovery/root/vendor/lib64/libboot_control_qti.so new file mode 100644 index 0000000..a0b330f Binary files /dev/null and b/recovery/root/vendor/lib64/libboot_control_qti.so differ diff --git a/recovery/root/vendor/lib64/libdiag.so b/recovery/root/vendor/lib64/libdiag.so new file mode 100644 index 0000000..807eb42 Binary files /dev/null and b/recovery/root/vendor/lib64/libdiag.so differ diff --git a/recovery/root/vendor/lib64/libdisplayconfig.qti.so b/recovery/root/vendor/lib64/libdisplayconfig.qti.so new file mode 100644 index 0000000..e76f3d2 Binary files /dev/null and b/recovery/root/vendor/lib64/libdisplayconfig.qti.so differ diff --git a/recovery/root/vendor/lib64/libdisplaydebug.so b/recovery/root/vendor/lib64/libdisplaydebug.so new file mode 100644 index 0000000..f2084d8 Binary files /dev/null and b/recovery/root/vendor/lib64/libdisplaydebug.so differ diff --git a/recovery/root/vendor/lib64/libdrm.so b/recovery/root/vendor/lib64/libdrm.so new file mode 100644 index 0000000..48fe950 Binary files /dev/null and b/recovery/root/vendor/lib64/libdrm.so differ diff --git a/recovery/root/vendor/lib64/libdrmfs.so b/recovery/root/vendor/lib64/libdrmfs.so new file mode 100644 index 0000000..0804390 Binary files /dev/null and b/recovery/root/vendor/lib64/libdrmfs.so differ diff --git a/recovery/root/vendor/lib64/libdrmtime.so b/recovery/root/vendor/lib64/libdrmtime.so new file mode 100644 index 0000000..cdf1677 Binary files /dev/null and b/recovery/root/vendor/lib64/libdrmtime.so differ diff --git a/recovery/root/vendor/lib64/libdrmutils.so b/recovery/root/vendor/lib64/libdrmutils.so new file mode 100644 index 0000000..4a7dd23 Binary files /dev/null and b/recovery/root/vendor/lib64/libdrmutils.so differ diff --git a/recovery/root/vendor/lib64/libdsutils.so b/recovery/root/vendor/lib64/libdsutils.so new file mode 100644 index 0000000..8ce70f6 Binary files /dev/null and b/recovery/root/vendor/lib64/libdsutils.so differ diff --git a/recovery/root/vendor/lib64/libidl.so b/recovery/root/vendor/lib64/libidl.so new file mode 100644 index 0000000..e7aff42 Binary files /dev/null and b/recovery/root/vendor/lib64/libidl.so differ diff --git a/recovery/root/vendor/lib64/libkeymasterdeviceutils.so b/recovery/root/vendor/lib64/libkeymasterdeviceutils.so new file mode 100644 index 0000000..b7ecdcf Binary files /dev/null and b/recovery/root/vendor/lib64/libkeymasterdeviceutils.so differ diff --git a/recovery/root/vendor/lib64/libkeymasterprovision.so b/recovery/root/vendor/lib64/libkeymasterprovision.so new file mode 100644 index 0000000..b404e7c Binary files /dev/null and b/recovery/root/vendor/lib64/libkeymasterprovision.so differ diff --git a/recovery/root/vendor/lib64/libkeymasterutils.so b/recovery/root/vendor/lib64/libkeymasterutils.so new file mode 100644 index 0000000..845b169 Binary files /dev/null and b/recovery/root/vendor/lib64/libkeymasterutils.so differ diff --git a/recovery/root/vendor/lib64/libkeystore-engine-wifi-hidl.so b/recovery/root/vendor/lib64/libkeystore-engine-wifi-hidl.so new file mode 100644 index 0000000..2b425ac Binary files /dev/null and b/recovery/root/vendor/lib64/libkeystore-engine-wifi-hidl.so differ diff --git a/recovery/root/vendor/lib64/libkeystore-wifi-hidl.so b/recovery/root/vendor/lib64/libkeystore-wifi-hidl.so new file mode 100644 index 0000000..c665e76 Binary files /dev/null and b/recovery/root/vendor/lib64/libkeystore-wifi-hidl.so differ diff --git a/recovery/root/vendor/lib64/libmdmdetect.so b/recovery/root/vendor/lib64/libmdmdetect.so new file mode 100644 index 0000000..8ac823e Binary files /dev/null and b/recovery/root/vendor/lib64/libmdmdetect.so differ diff --git a/recovery/root/vendor/lib64/libminkdescriptor.so b/recovery/root/vendor/lib64/libminkdescriptor.so new file mode 100644 index 0000000..f54ee8c Binary files /dev/null and b/recovery/root/vendor/lib64/libminkdescriptor.so differ diff --git a/recovery/root/vendor/lib64/libminksocket_vendor.so b/recovery/root/vendor/lib64/libminksocket_vendor.so new file mode 100644 index 0000000..f1659d2 Binary files /dev/null and b/recovery/root/vendor/lib64/libminksocket_vendor.so differ diff --git a/recovery/root/vendor/lib64/libops.so b/recovery/root/vendor/lib64/libops.so new file mode 100644 index 0000000..82d9e08 Binary files /dev/null and b/recovery/root/vendor/lib64/libops.so differ diff --git a/recovery/root/vendor/lib64/libqcbor.so b/recovery/root/vendor/lib64/libqcbor.so new file mode 100644 index 0000000..f3a1779 Binary files /dev/null and b/recovery/root/vendor/lib64/libqcbor.so differ diff --git a/recovery/root/vendor/lib64/libqdutils.so b/recovery/root/vendor/lib64/libqdutils.so new file mode 100644 index 0000000..1ef010d Binary files /dev/null and b/recovery/root/vendor/lib64/libqdutils.so differ diff --git a/recovery/root/vendor/lib64/libqisl.so b/recovery/root/vendor/lib64/libqisl.so new file mode 100644 index 0000000..9b9d14b Binary files /dev/null and b/recovery/root/vendor/lib64/libqisl.so differ diff --git a/recovery/root/vendor/lib64/libqmi_cci.so b/recovery/root/vendor/lib64/libqmi_cci.so new file mode 100644 index 0000000..bce936e Binary files /dev/null and b/recovery/root/vendor/lib64/libqmi_cci.so differ diff --git a/recovery/root/vendor/lib64/libqmi_client_qmux.so b/recovery/root/vendor/lib64/libqmi_client_qmux.so new file mode 100644 index 0000000..5daedd8 Binary files /dev/null and b/recovery/root/vendor/lib64/libqmi_client_qmux.so differ diff --git a/recovery/root/vendor/lib64/libqmi_common_so.so b/recovery/root/vendor/lib64/libqmi_common_so.so new file mode 100644 index 0000000..bf83f83 Binary files /dev/null and b/recovery/root/vendor/lib64/libqmi_common_so.so differ diff --git a/recovery/root/vendor/lib64/libqmi_csi.so b/recovery/root/vendor/lib64/libqmi_csi.so new file mode 100644 index 0000000..cc4f66b Binary files /dev/null and b/recovery/root/vendor/lib64/libqmi_csi.so differ diff --git a/recovery/root/vendor/lib64/libqmi_encdec.so b/recovery/root/vendor/lib64/libqmi_encdec.so new file mode 100644 index 0000000..3258d93 Binary files /dev/null and b/recovery/root/vendor/lib64/libqmi_encdec.so differ diff --git a/recovery/root/vendor/lib64/libqmiservices.so b/recovery/root/vendor/lib64/libqmiservices.so new file mode 100644 index 0000000..ceb9d28 Binary files /dev/null and b/recovery/root/vendor/lib64/libqmiservices.so differ diff --git a/recovery/root/vendor/lib64/libqrtr.so b/recovery/root/vendor/lib64/libqrtr.so new file mode 100644 index 0000000..7de14b9 Binary files /dev/null and b/recovery/root/vendor/lib64/libqrtr.so differ diff --git a/recovery/root/vendor/lib64/libqservice.so b/recovery/root/vendor/lib64/libqservice.so new file mode 100644 index 0000000..4f67c72 Binary files /dev/null and b/recovery/root/vendor/lib64/libqservice.so differ diff --git a/recovery/root/vendor/lib64/libqti-util.so b/recovery/root/vendor/lib64/libqti-util.so new file mode 100644 index 0000000..6c70248 Binary files /dev/null and b/recovery/root/vendor/lib64/libqti-util.so differ diff --git a/recovery/root/vendor/lib64/libqti-utils.so b/recovery/root/vendor/lib64/libqti-utils.so new file mode 100644 index 0000000..c649be3 Binary files /dev/null and b/recovery/root/vendor/lib64/libqti-utils.so differ diff --git a/recovery/root/vendor/lib64/libqtikeymaster4.so b/recovery/root/vendor/lib64/libqtikeymaster4.so new file mode 100644 index 0000000..ecd3b7f Binary files /dev/null and b/recovery/root/vendor/lib64/libqtikeymaster4.so differ diff --git a/recovery/root/vendor/lib64/libqtikeymint.so b/recovery/root/vendor/lib64/libqtikeymint.so new file mode 100644 index 0000000..99c0482 Binary files /dev/null and b/recovery/root/vendor/lib64/libqtikeymint.so differ diff --git a/recovery/root/vendor/lib64/libqtivibratoreffect.so b/recovery/root/vendor/lib64/libqtivibratoreffect.so new file mode 100644 index 0000000..9249c15 Binary files /dev/null and b/recovery/root/vendor/lib64/libqtivibratoreffect.so differ diff --git a/recovery/root/vendor/lib64/librecovery_updater.so b/recovery/root/vendor/lib64/librecovery_updater.so new file mode 100644 index 0000000..ef76910 Binary files /dev/null and b/recovery/root/vendor/lib64/librecovery_updater.so differ diff --git a/recovery/root/vendor/lib64/librecovery_updater_msm.so b/recovery/root/vendor/lib64/librecovery_updater_msm.so new file mode 100644 index 0000000..a97059b Binary files /dev/null and b/recovery/root/vendor/lib64/librecovery_updater_msm.so differ diff --git a/recovery/root/vendor/lib64/librpmb.so b/recovery/root/vendor/lib64/librpmb.so new file mode 100644 index 0000000..99ae024 Binary files /dev/null and b/recovery/root/vendor/lib64/librpmb.so differ diff --git a/recovery/root/vendor/lib64/libsoc_helper.so b/recovery/root/vendor/lib64/libsoc_helper.so new file mode 100644 index 0000000..c1668d5 Binary files /dev/null and b/recovery/root/vendor/lib64/libsoc_helper.so differ diff --git a/recovery/root/vendor/lib64/libsoc_helper_jni.so b/recovery/root/vendor/lib64/libsoc_helper_jni.so new file mode 100644 index 0000000..6da0cf7 Binary files /dev/null and b/recovery/root/vendor/lib64/libsoc_helper_jni.so differ diff --git a/recovery/root/vendor/lib64/libspcom.so b/recovery/root/vendor/lib64/libspcom.so new file mode 100644 index 0000000..e976c37 Binary files /dev/null and b/recovery/root/vendor/lib64/libspcom.so differ diff --git a/recovery/root/vendor/lib64/libspl.so b/recovery/root/vendor/lib64/libspl.so new file mode 100644 index 0000000..a50245c Binary files /dev/null and b/recovery/root/vendor/lib64/libspl.so differ diff --git a/recovery/root/vendor/lib64/libssd.so b/recovery/root/vendor/lib64/libssd.so new file mode 100644 index 0000000..860e5d0 Binary files /dev/null and b/recovery/root/vendor/lib64/libssd.so differ diff --git a/recovery/root/vendor/lib64/libthermalclient.so b/recovery/root/vendor/lib64/libthermalclient.so new file mode 100644 index 0000000..004a3dd Binary files /dev/null and b/recovery/root/vendor/lib64/libthermalclient.so differ diff --git a/recovery/root/vendor/lib64/libtime_genoff.so b/recovery/root/vendor/lib64/libtime_genoff.so new file mode 100644 index 0000000..3ae75ad Binary files /dev/null and b/recovery/root/vendor/lib64/libtime_genoff.so differ diff --git a/recovery/root/vendor/lib64/libvmmem.so b/recovery/root/vendor/lib64/libvmmem.so new file mode 100644 index 0000000..83ad5a7 Binary files /dev/null and b/recovery/root/vendor/lib64/libvmmem.so differ diff --git a/recovery/root/vendor/lib64/vendor.aac.hardware.richtap.vibrator-V1-ndk_platform.so b/recovery/root/vendor/lib64/vendor.aac.hardware.richtap.vibrator-V1-ndk_platform.so new file mode 100644 index 0000000..7de75cb Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.aac.hardware.richtap.vibrator-V1-ndk_platform.so differ diff --git a/recovery/root/vendor/lib64/vendor.display.config@1.0.so b/recovery/root/vendor/lib64/vendor.display.config@1.0.so new file mode 100644 index 0000000..6aa94ae Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.display.config@1.0.so differ diff --git a/recovery/root/vendor/lib64/vendor.display.config@1.1.so b/recovery/root/vendor/lib64/vendor.display.config@1.1.so new file mode 100644 index 0000000..e4718cc Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.display.config@1.1.so differ diff --git a/recovery/root/vendor/lib64/vendor.display.config@1.10.so b/recovery/root/vendor/lib64/vendor.display.config@1.10.so new file mode 100644 index 0000000..e536759 Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.display.config@1.10.so differ diff --git a/recovery/root/vendor/lib64/vendor.display.config@1.11.so b/recovery/root/vendor/lib64/vendor.display.config@1.11.so new file mode 100644 index 0000000..09c53e5 Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.display.config@1.11.so differ diff --git a/recovery/root/vendor/lib64/vendor.display.config@1.2.so b/recovery/root/vendor/lib64/vendor.display.config@1.2.so new file mode 100644 index 0000000..ed9d5b8 Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.display.config@1.2.so differ diff --git a/recovery/root/vendor/lib64/vendor.display.config@1.3.so b/recovery/root/vendor/lib64/vendor.display.config@1.3.so new file mode 100644 index 0000000..3ab53ef Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.display.config@1.3.so differ diff --git a/recovery/root/vendor/lib64/vendor.display.config@1.4.so b/recovery/root/vendor/lib64/vendor.display.config@1.4.so new file mode 100644 index 0000000..a0fd9f6 Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.display.config@1.4.so differ diff --git a/recovery/root/vendor/lib64/vendor.display.config@1.5.so b/recovery/root/vendor/lib64/vendor.display.config@1.5.so new file mode 100644 index 0000000..0c6246b Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.display.config@1.5.so differ diff --git a/recovery/root/vendor/lib64/vendor.display.config@1.6.so b/recovery/root/vendor/lib64/vendor.display.config@1.6.so new file mode 100644 index 0000000..02e993a Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.display.config@1.6.so differ diff --git a/recovery/root/vendor/lib64/vendor.display.config@1.7.so b/recovery/root/vendor/lib64/vendor.display.config@1.7.so new file mode 100644 index 0000000..6853896 Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.display.config@1.7.so differ diff --git a/recovery/root/vendor/lib64/vendor.display.config@1.8.so b/recovery/root/vendor/lib64/vendor.display.config@1.8.so new file mode 100644 index 0000000..cfac179 Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.display.config@1.8.so differ diff --git a/recovery/root/vendor/lib64/vendor.display.config@1.9.so b/recovery/root/vendor/lib64/vendor.display.config@1.9.so new file mode 100644 index 0000000..81a3667 Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.display.config@1.9.so differ diff --git a/recovery/root/vendor/lib64/vendor.display.config@2.0.so b/recovery/root/vendor/lib64/vendor.display.config@2.0.so new file mode 100644 index 0000000..11e7fda Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.display.config@2.0.so differ diff --git a/recovery/root/vendor/lib64/vendor.qti.hardware.qteeconnector@1.0.so b/recovery/root/vendor/lib64/vendor.qti.hardware.qteeconnector@1.0.so new file mode 100644 index 0000000..86c981f Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.qti.hardware.qteeconnector@1.0.so differ diff --git a/recovery/root/vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so b/recovery/root/vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so new file mode 100644 index 0000000..95431bb Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so differ diff --git a/recovery/root/vendor/lib64/vendor.qti.hardware.vibrator.impl.so b/recovery/root/vendor/lib64/vendor.qti.hardware.vibrator.impl.so new file mode 100644 index 0000000..6644c4b Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.qti.hardware.vibrator.impl.so differ diff --git a/recovery/root/vendor/lib64/vendor.qti.hardware.wifi.keystore@1.0.so b/recovery/root/vendor/lib64/vendor.qti.hardware.wifi.keystore@1.0.so new file mode 100644 index 0000000..c6b5cb6 Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.qti.hardware.wifi.keystore@1.0.so differ diff --git a/recovery/root/vendor/lib64/vendor.qti.spu@1.0.so b/recovery/root/vendor/lib64/vendor.qti.spu@1.0.so new file mode 100644 index 0000000..e581d19 Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.qti.spu@1.0.so differ diff --git a/recovery/root/vendor/lib64/vendor.qti.spu@1.1.so b/recovery/root/vendor/lib64/vendor.qti.spu@1.1.so new file mode 100644 index 0000000..fcdcded Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.qti.spu@1.1.so differ diff --git a/recovery/root/vendor/lib64/vendor.qti.spu@2.0.so b/recovery/root/vendor/lib64/vendor.qti.spu@2.0.so new file mode 100644 index 0000000..2b7cc7b Binary files /dev/null and b/recovery/root/vendor/lib64/vendor.qti.spu@2.0.so differ diff --git a/recovery/root/vendor/ueventd.rc b/recovery/root/vendor/ueventd.rc new file mode 100644 index 0000000..f742e6b --- /dev/null +++ b/recovery/root/vendor/ueventd.rc @@ -0,0 +1,505 @@ +firmware_directories /vendor/firmware_mnt/image/ + +subsystem dma_heap + devname uevent_devpath + dirname /dev/dma_heap + +subsystem mem_buf_vm + devname uevent_devpath + dirname /dev/mem_buf_vm + +# the DIAG device node is not world writable/readable. +/dev/diag 0660 system oem_2901 +/dev/mhi_*_pipe_4 0660 system system + +/dev/genlock 0666 system system +/dev/wlan 0660 wifi wifi +/dev/kgsl 0666 system system +/dev/kgsl-3d0 0666 system system +/dev/kgsl-2d0 0666 root root +/dev/kgsl-2d1 0666 root root +/dev/ion 0664 system system +/dev/membuf 0664 system system +/dev/mem_buf_vm/* 0444 system system +/dev/dma_heap/qcom,* 0444 system system +/dev/rtc0 0660 system system +/dev/smd0 0660 system system +/dev/smd4 0660 system system +/dev/smd_cxm_qmi 0640 radio radio +/dev/smd5 0660 system system +/dev/smd6 0660 system system +/dev/smd7 0660 bluetooth bluetooth +/dev/ccid_bridge 0660 system system +/dev/ipa 0660 radio radio +/dev/wwan_ioctl 0660 radio radio +/dev/ipa_lnx_stats_ioctl 0640 radio radio +/dev/ipaNatTable 0660 radio radio +/dev/rmnet_ctrl 0660 usb usb +/dev/dpl_ctrl 0660 usb usb +/dev/ipa_odl_ctl 0660 radio radio +/dev/ipa_adpl 0660 system oem_2905 +/dev/synx_device 0660 root camera +/dev/hab 0666 system system +/dev/iio:device* 0664 system system + +#permissions for UFS RPMB BSG device node +/dev/0:0:0:49476 0600 system system + +#permissions for CSVT +/dev/smd11 0660 radio radio + +#permsissions for BT/FM +/dev/smd2 0660 bluetooth bluetooth +/dev/smd3 0660 bluetooth bluetooth +/dev/btpower 0660 bluetooth system + +#permissions for pta +/dev/pta 0660 system system + +/dev/radio0 0640 system system +/dev/rfcomm0 0660 bluetooth bluetooth +/dev/ttyUSB0 0660 bluetooth bluetooth +/dev/smdcntl0 0640 radio radio +/dev/smdcntl1 0640 radio radio +/dev/smdcntl2 0640 radio radio +/dev/smdcntl3 0640 radio radio +/dev/smdcntl4 0640 radio radio +/dev/smdcntl5 0640 radio radio +/dev/smdcntl6 0640 radio radio +/dev/smdcntl7 0640 radio radio +/dev/smdcntl8 0640 radio radio +/dev/smdcnt_rev0 0640 radio radio +/dev/smdcnt_rev1 0640 radio radio +/dev/smdcnt_rev2 0640 radio radio +/dev/smdcnt_rev3 0640 radio radio +/dev/smdcnt_rev4 0640 radio radio +/dev/smdcnt_rev5 0640 radio radio +/dev/smdcnt_rev6 0640 radio radio +/dev/smdcnt_rev7 0640 radio radio +/dev/smdcnt_rev8 0640 radio radio +/dev/smuxctl32 0640 radio radio +/dev/sdioctl0 0640 radio radio +/dev/sdioctl1 0640 radio radio +/dev/sdioctl2 0640 radio radio +/dev/sdioctl3 0640 radio radio +/dev/sdioctl4 0640 radio radio +/dev/sdioctl5 0640 radio radio +/dev/sdioctl6 0640 radio radio +/dev/sdioctl7 0640 radio radio +/dev/sdioctl8 0640 radio radio +/dev/rmnet_mux_ctrl 0640 radio radio +/dev/hsicctl0 0640 radio radio +/dev/hsicctl1 0640 radio radio +/dev/hsicctl2 0640 radio radio +/dev/hsicctl3 0640 radio radio +/dev/hsicctl4 0640 radio radio +/dev/hsicctl5 0640 radio radio +/dev/hsicctl6 0640 radio radio +/dev/hsicctl7 0640 radio radio +/dev/hsicctl8 0640 radio radio +/dev/hsicctl9 0640 radio radio +/dev/hsicctl10 0640 radio radio +/dev/hsicctl11 0640 radio radio +/dev/hsicctl12 0640 radio radio +/dev/hsicctl13 0640 radio radio +/dev/hsicctl14 0640 radio radio +/dev/hsicctl15 0640 radio radio +/dev/hsicctl16 0640 radio radio +/dev/mhi_*_pipe_14 0640 radio radio +/dev/mhi_*_pipe_16 0640 radio radio +/dev/mhi_*_pipe_32 0640 radio radio +/dev/at_usb0 0640 radio radio +/dev/at_mdm0 0640 radio radio +/dev/video* 0660 system camera +/dev/cvp* 0660 system camera +/dev/media* 0660 system camera +/dev/v4l-subdev* 0660 system camera +/dev/qseecom 0660 system drmrpc +/dev/qce 0660 system drmrpc +/dev/smcinvoke 0660 system drmrpc +/dev/qsee_ipc_irq_spss 0660 system drmrpc +/dev/seemplog 0660 system system +/dev/pft 0660 system drmrpc +/dev/spcom 0660 system system +/dev/spss_utils 0660 system system +/dev/sp_kernel 0660 system system +/dev/sp_nvm 0660 system system +/dev/sp_ssr 0660 system system +/dev/sp_keymaster 0660 system system +/dev/sp_keymaster_ssr 0660 system system +/dev/sec_nvm_* 0660 system system +/dev/cryptoapp 0660 system system +/dev/spdaemon_ssr 0660 system system +/dev/spu_hal_ssr 0660 system system +/dev/iuicc* 0660 system system +/dev/gemini0 0660 system camera +/dev/jpeg0 0660 system camera +/dev/jpeg1 0660 system camera +/dev/jpeg2 0660 system camera +/dev/jpeg3 0660 system camera +/dev/adsprpc-smd 0664 system system +/dev/adsprpc-smd-secure 0644 system system +/dev/system_health_monitor 0644 radio system +/dev/mdss_rotator 0664 system system +/dev/spec_sync 0660 system system + +#QDSS +/dev/byte-cntr 0660 system oem_2902 +/dev/mhi_qdss 0660 system oem_2902 +/sys/class/qdss_bridge/mhi_qdss mode 0660 system oem_2902 + +#qg +/dev/qg 0660 system system +/dev/qg_battery 0660 system system + +#qvr +/dev/qvr_external_sensor_ioctl 0660 system system +/sys/kernel/qvr_external_sensor/fd 0660 system system +/dev/bus/usb/* 0660 root usb +/dev/hidraw* 0660 root usb + +# wlan +/dev/wcnss_wlan 0660 system system +/dev/wcnss_ctrl 0660 system system +/sys/devices/soc/a000000.qcom,wcnss-wlan/net/wlan0/queues/rx-* rps_cpus 0660 system system +/sys/devices/soc/a000000.qcom,wcnss-wlan/net/p2p0/queues/rx-* rps_cpus 0660 system system +/sys/devices/platform/soc/18800000.qcom,icnss/net/wlan*/queues/rx-* rps_cpus 0660 system system +/sys/devices/platform/soc/1c00000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan*/queues/rx-* rps_cpus 0660 system system +/dev/spidev0.0 0660 system audio +/dev/i2c-7 0660 system audio +/dev/msm_camera/* 0660 system camera +/dev/gemini/ 0660 system camera +/dev/mercury0 0660 system camera +/dev/msm_vidc_reg 0660 system audio +/dev/msm_vidc_dec 0660 system audio +/dev/msm_vidc_dec_sec 0660 system audio +/dev/msm_vidc_enc 0660 system audio +/dev/msm_rotator 0660 system system +/dev/hw_random 0600 root root +/dev/sdsprpc-smd 0660 system system + +#permissions for audio +/dev/wcd_dsp0_control 0660 system audio +/dev/wcd-dsp-glink 0660 system audio +/dev/audio_slimslave 0660 system audio +/dev/msm_qcelp 0660 system audio +/dev/msm_evrc 0660 system audio +/dev/msm_wma 0660 system audio +/dev/msm_wmapro 0660 system audio +/dev/msm_alac 0660 system audio +/dev/msm_ape 0660 system audio +/dev/msm_amrnb 0660 system audio +/dev/msm_amrwb 0660 system audio +/dev/msm_amrwbplus 0660 system audio +/dev/msm_aac 0660 system audio +/dev/msm_multi_aac 0660 system audio +/dev/msm_aac_in 0660 system audio +/dev/msm_qcelp_in 0660 system audio +/dev/msm_evrc_in 0660 system audio +/dev/msm_amrnb_in 0660 system audio +/dev/msm_amrwb_in 0660 system audio +/dev/msm_a2dp_in 0660 system audio +/dev/msm_ac3 0660 system audio +/dev/msm_audio_cal 0660 system audio +/dev/msm_hweffects 0660 system audio +/dev/msm_cad 0660 system audio +/dev/msm_fm 0660 system audio +/dev/msm_mvs 0660 system audio +/dev/msm_pcm_lp_dec 0660 system audio +/dev/msm_preproc_ctl 0660 system audio +/dev/msm_rtac 0660 system audio +/dev/msm_voicememo 0660 system audio +/dev/aud_pasthru_adsp 0660 system audio +/dev/msm_audio_ion_cma 0660 system audio +/dev/msm_audio_ion 0660 system audio +/dev/ttyHSL1 0660 system system +/dev/ttyHS1 0660 system system +/dev/mdm 0660 system radio +/sys/devices/virtual/smdpkt/smdcntl* open_timeout 0664 radio radio +/dev/sdio_tty_ciq_00 0660 system system +/dev/tty_sdio_00 0660 system system +/dev/ttyGS0 0660 system system +/dev/i2c-5 0660 media media +/dev/avtimer 0660 system audio +/dev/spidev2.0 0660 system audio +/dev/msm_adsp_sleepmon 0660 system audio + +# DVB devices +/dev/dvb/adapter0/demux* 0440 media media +/dev/dvb/adapter0/dvr* 0660 media media +/dev/dvb/adapter0/video* 0660 media media + +# Broadcast devices +/dev/tsc_mux0 0660 media media +/dev/tsc_ci0 0660 media media + +# sensors +/dev/sensors 0660 system system +/sys/devices/i2c-12/12-* pollrate_ms 0664 system system +/sys/devices/f9925000.i2c/i2c-0/0-* enable 0660 input system +/sys/devices/f9925000.i2c/i2c-0/0-* poll_delay 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* enable 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* poll_delay 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* enable_wakeup 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* max_latency 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* flush 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* calibrate 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* enable 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* poll_delay 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* enable_wakeup 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* max_latency 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* flush 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* calibrate 0660 input system +/sys/devices/virtual/optical_sensors/proximity ps_adc 0660 input system +/sys/devices/virtual/optical_sensors/proximity ps_poll_delay 0660 input system +/sys/devices/virtual/optical_sensors/lightsensor ls_auto 0660 input system +/sys/devices/virtual/optical_sensors/lightsensor ls_poll_delay 0660 input system +/sys/devices/virtual/input/input* poll 0660 input system +/sys/devices/virtual/input/input* pollrate_ms 0660 input system +/sys/devices/soc/78b7000.i2c/i2c-3/3-0020/input/input* secure_touch 0440 system drmrpc +/sys/devices/soc/78b7000.i2c/i2c-3/3-0020/input/input* secure_touch_enable 0660 system drmrpc +/sys/devices/soc/78b7000.i2c/i2c-3/3-0038/input/input* secure_touch 0440 system drmrpc +/sys/devices/soc/78b7000.i2c/i2c-3/3-0038/input/input* secure_touch_enable 0660 system drmrpc +/sys/devices/soc/78b7000.i2c/i2c-3/3-004b/input/input* secure_touch 0440 system drmrpc +/sys/devices/soc/78b7000.i2c/i2c-3/3-004b/input/input* secure_touch_enable 0660 system drmrpc +/sys/devices/soc/c179000.i2c/i2c-5/5-0020/input/input* secure_touch 0440 system drmrpc +/sys/devices/soc/c179000.i2c/i2c-5/5-0020/input/input* secure_touch_enable 0660 system drmrpc +/sys/devices/platform/soc/a98000.i2c/i2c-2/2-0020/input/input* secure_touch 0440 system drmrpc +/sys/devices/platform/soc/a98000.i2c/i2c-2/2-0020/input/input* secure_touch_enable 0660 system drmrpc +/sys/devices/platform/soc/a84000.i2c/i2c-2/2-0020/input/input* secure_touch 0440 system drmrpc +/sys/devices/platform/soc/a84000.i2c/i2c-2/2-0020/input/input* secure_touch_enable 0660 system drmrpc + +# GNSS Device premissions +/dev/gnss_sirf 0660 gps gps + +# laser sensor access +/sys/devices/virtual/input/input* enable_ps_sensor 0660 system input +/sys/devices/virtual/input/input* set_delay_ms 0660 system input +/sys/devices/virtual/input/input* do_flush 0660 system input + +# vm_bms +/dev/vm_bms 0660 system system +/dev/battery_data 0660 system system + +# wlan +/dev/wcnss_wlan 0660 system system +/dev/wcnss_ctrl 0660 system system +/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan0/queues/rx-* rps_cpus 0660 system system +/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/p2p0/queues/rx-* rps_cpus 0660 system system + +# wigig +/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/fst_link_loss 0660 wifi wifi +/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/thermal_throttling 0660 system system +/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/snr_thresh 0660 wifi wifi +/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/queues/rx-0/rps_cpus 0660 system system +/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/gro_flush_timeout 0660 system system +/sys/devices/virtual/net/bond0 queues/rx-0/rps_cpus 0660 system system + +#nfc permissions +/dev/nfc-nci 0660 nfc nfc +/dev/nq-nci 0660 nfc nfc +/dev/assd 0660 nfc nfc + +# UIO devices +/dev/uio0 0660 system system +/dev/uio1 0660 system system +/dev/uio2 0660 system system + +# SSR devices +/dev/subsys_* 0640 system system + +# remoteproc devices +/dev/remoteproc* 0640 system system + +# Ultrasound device +/dev/usf1 0660 system system + +# Ramdump devices +/dev/ramdump* 0640 system system + +# Fingerprint device +/dev/qbt* 0660 system system +/sys/class/fts/touch_aoi aoi_set 0660 root system +/sys/class/fts/touch_aoi power_set 0660 root system + +# Goodix fingerprint device +/dev/goodix_fp 0660 system system + +# EgisTech fingerprint device +/dev/esfp0 0660 system system + +# Change permission for FPC fingerprint +/sys/class/fingerprint/fpc1020 nav 0440 system system +/sys/class/fingerprint/fpc1020 irq 0440 system system +/sys/class/fingerprint/fpc1020 irq_cnt 0440 system system +/sys/class/fingerprint/fpc1020 dev_enable 0220 system system +/sys/class/fingerprint/fpc1020 vendor 0444 system system +/sys/class/fingerprint/fpc1020 hw_reset 0220 system system + +/sys/devices/platform/soc/soc\:fpc_fpc1020 irq 0440 system system +/sys/devices/platform/soc/soc\:fpc_fpc1020 irq_cnt 0440 system system +/sys/devices/platform/soc/soc\:fpc_fpc1020 dev_enable 0220 system system +/sys/devices/platform/soc/soc\:fpc_fpc1020 hw_reset 0220 system system + +#ImproveTouch device +/dev/hbtp_input 0660 system system +/dev/hbtp_vm 0660 system system + +# Add device block for FRP +/dev/block/platform/soc/7824900.sdhci/by-name/config 0600 system system +/dev/block/platform/soc/7464900.sdhci/by-name/frp 0600 system system +/dev/block/platform/soc/624000.ufshc/by-name/frp 0600 system system +/dev/block/platform/soc/1da4000.ufshc/by-name/frp 0600 system system +/dev/block/platform/soc/c0c4000.sdhci/by-name/frp 0600 system system +/dev/block/platform/soc/1d84000.ufshc/by-name/frp 0600 system system +/dev/block/platform/soc/7c4000.sdhci/by-name/frp 0600 system system +/dev/block/platform/soc/4744000.sdhci/by-name/frp 0600 system system +/dev/block/platform/soc/4804000.ufshc/by-name/frp 0600 system system +/dev/block/platform/soc/7c4000.sdhci/by-name/rawdump 0660 root system +/dev/block/platform/soc/1d84000.ufshc/by-name/rawdump 0660 root system + +# This is temporary while using SD card for initial bring-up +/dev/block/platform/soc/8804000.sdhci/by-name/frp 0600 system system + +# Add device block for MISC +/dev/block/platform/soc/7464900.sdhci/by-name/misc 0660 root system +/dev/block/platform/soc/624000.ufshc/by-name/misc 0660 root system +/dev/block/platform/soc/1da4000.ufshc/by-name/misc 0660 root system +/dev/block/platform/soc/c0c4000.sdhci/by-name/misc 0660 root system +/dev/block/platform/soc/1d84000.ufshc/by-name/misc 0660 root system +/dev/block/platform/soc/7c4000.sdhci/by-name/misc 0660 root system +/dev/block/platform/soc/4744000.sdhci/by-name/misc 0660 root system +/dev/block/platform/soc/4804000.ufshc/by-name/misc 0660 root system + +# Kmsg device +/dev/kmsg 0620 root system + +# LED class devices +/sys/class/leds/red delay_on 0640 system system +/sys/class/leds/red delay_off 0640 system system +/sys/class/leds/red breath 0640 system system +/sys/class/leds/red trigger 0640 system system +/sys/class/leds/green delay_on 0640 system system +/sys/class/leds/green delay_off 0640 system system +/sys/class/leds/green breath 0640 system system +/sys/class/leds/green trigger 0640 system system +/sys/class/leds/blue delay_on 0640 system system +/sys/class/leds/blue delay_off 0640 system system +/sys/class/leds/blue breath 0640 system system +/sys/class/leds/blue trigger 0640 system system + +# NPU device +/dev/msm_npu 0644 system system + +# USB role switch +/sys/class/dual_role_usb/* data_role 0660 system system +/sys/class/dual_role_usb/* power_role 0660 system system +/sys/class/dual_role_usb/* mode 0660 system system + +#Memory Offline +/sys/devices/system/memory/memory* state 0660 system system + +/sys/devices/virtual/hdcp/msm_hdcp min_level_change 0664 system graphics + +#KGSL +/sys/class/kgsl/kgsl-3d0 perfcounter 0660 root shell + +# sys-fs display +/sys/class/graphics/fb* hpd 0664 system graphics +/sys/class/graphics/fb* res_info 0664 system graphics +/sys/class/graphics/fb* vendor_name 0664 system graphics +/sys/class/graphics/fb* product_description 0664 system graphics +/sys/class/graphics/fb* video_mode 0664 system graphics +/sys/class/graphics/fb* format_3d 0664 system graphics +/sys/class/graphics/fb* s3d_mode 0664 system graphics +/sys/class/graphics/fb* dynamic_fps 0664 system graphics +/sys/class/graphics/fb* msm_fb_dfps_mode 0664 system graphics +/sys/class/graphics/fb* hdr_stream 0664 system graphics +/sys/class/graphics/fb* cec/enable 0664 system graphics +/sys/class/graphics/fb* cec/logical_addr 0664 system graphics +/sys/class/graphics/fb* cec/rd_msg 0664 system graphics +/sys/class/graphics/fb* pa 0664 system graphics +/sys/class/graphics/fb* cec/wr_msg 0600 system graphics +/sys/class/graphics/fb* hdcp/tp 0664 system graphics +/sys/class/graphics/fb* hdcp2p2/min_level_change 0660 system graphics +/sys/class/graphics/fb* hdmi_audio_cb 0600 audioserver audio + +/sys/class/graphics/fb* lineptr_value 0664 system graphics +/sys/class/graphics/fb* msm_fb_persist_mode 0664 system graphics + +/sys/class/graphics/fb0 idle_time 0664 system graphics +/sys/class/graphics/fb0 dynamic_fps 0664 system graphics +/sys/class/graphics/fb0 dyn_pu 0664 system graphics +/sys/class/graphics/fb0 modes 0664 system graphics +/sys/class/graphics/fb0 mode 0664 system graphics +/sys/class/graphics/fb0 msm_cmd_autorefresh_en 0664 system graphics +*/ + +/sys/devices/platform/soc/ae00000.qcom,mdss_mdp power/control 0664 system graphics + +#asm330 sensor +#common sensors files +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* buffer/enable 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* buffer/length 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* buffer/watermark 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* discharded_samples 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* current_timestamp_clock 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* hwfifo_flush 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* hwfifo_watermark 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* hwfifo_watermark_max 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* mount_matrix 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* name 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* sampling_frequency 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* sampling_frequency_available 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_timestamp_en 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_timestamp_index 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_timestamp_type 0664 system system + +# standard iio accel attributes +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_scale_available 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_x_raw 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_x_scale 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_y_raw 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_y_scale 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_z_raw 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_accel_z_scale 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_x_en 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_x_index 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_x_type 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_y_en 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_y_index 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_y_type 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_z_en 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_z_index 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_accel_z_type 0664 system system + +# standard iio gyro attributes +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_scale_available 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_x_raw 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_x_scale 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_y_raw 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_y_scale 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_z_raw 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_anglvel_z_scale 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_x_en 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_x_index 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_x_type 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_y_en 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_y_index 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_y_type 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_z_en 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_z_index 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* scan_elements/in_anglvel_z_type 0664 system system + + +# standard iio temp attributes +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_offset 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_raw 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_scale 0664 system system +/sys/devices/platform/soc/*.i2c/i2c-*/*-*/iio:device* in_temp_scale_available 0664 system system + +# devcoredump data attributes +/sys/class/devcoredump/devcd* data 0600 system system + +# Motorola: Add for HIDRAW to access the glass usb device +/dev/hidraw* 0660 uhid uhid diff --git a/recovery/root/vendor_dlkm/lib/modules/adsp_loader_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/adsp_loader_dlkm.ko new file mode 100644 index 0000000..3ae6003 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/adsp_loader_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/altmode-glink.ko b/recovery/root/vendor_dlkm/lib/modules/altmode-glink.ko new file mode 100644 index 0000000..44dbf75 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/altmode-glink.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/audio_pkt_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/audio_pkt_dlkm.ko new file mode 100644 index 0000000..4e33f4a Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/audio_pkt_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/audio_prm_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/audio_prm_dlkm.ko new file mode 100644 index 0000000..ae5c4a5 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/audio_prm_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/audpkt_ion_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/audpkt_ion_dlkm.ko new file mode 100644 index 0000000..49f6333 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/audpkt_ion_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/aw882xx_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/aw882xx_dlkm.ko new file mode 100644 index 0000000..4485744 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/aw882xx_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/bam_dma.ko b/recovery/root/vendor_dlkm/lib/modules/bam_dma.ko new file mode 100644 index 0000000..c7c5c97 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/bam_dma.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/bcl_soc.ko b/recovery/root/vendor_dlkm/lib/modules/bcl_soc.ko new file mode 100644 index 0000000..f658099 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/bcl_soc.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/bm_adsp_ulog.ko b/recovery/root/vendor_dlkm/lib/modules/bm_adsp_ulog.ko new file mode 100644 index 0000000..cd8291c Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/bm_adsp_ulog.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/boot_stats.ko b/recovery/root/vendor_dlkm/lib/modules/boot_stats.ko new file mode 100644 index 0000000..5e86622 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/boot_stats.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/bq27426_fg_mmi.ko b/recovery/root/vendor_dlkm/lib/modules/bq27426_fg_mmi.ko new file mode 100644 index 0000000..9e52c4c Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/bq27426_fg_mmi.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/bt_fm_slim.ko b/recovery/root/vendor_dlkm/lib/modules/bt_fm_slim.ko new file mode 100644 index 0000000..0e4397f Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/bt_fm_slim.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/btpower.ko b/recovery/root/vendor_dlkm/lib/modules/btpower.ko new file mode 100644 index 0000000..10ddf21 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/btpower.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/bwmon.ko b/recovery/root/vendor_dlkm/lib/modules/bwmon.ko new file mode 100644 index 0000000..c0278dc Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/bwmon.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/camcc-parrot.ko b/recovery/root/vendor_dlkm/lib/modules/camcc-parrot.ko new file mode 100644 index 0000000..8e966ca Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/camcc-parrot.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/camcc-ravelin.ko b/recovery/root/vendor_dlkm/lib/modules/camcc-ravelin.ko new file mode 100644 index 0000000..56f06e0 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/camcc-ravelin.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/camera.ko b/recovery/root/vendor_dlkm/lib/modules/camera.ko new file mode 100644 index 0000000..5912fbe Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/camera.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/cdsp-loader.ko b/recovery/root/vendor_dlkm/lib/modules/cdsp-loader.ko new file mode 100644 index 0000000..aab6846 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/cdsp-loader.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/cdsprm.ko b/recovery/root/vendor_dlkm/lib/modules/cdsprm.ko new file mode 100644 index 0000000..985f18a Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/cdsprm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/cfg80211.ko b/recovery/root/vendor_dlkm/lib/modules/cfg80211.ko new file mode 100644 index 0000000..f68d752 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/cfg80211.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/charger-ulog-glink.ko b/recovery/root/vendor_dlkm/lib/modules/charger-ulog-glink.ko new file mode 100644 index 0000000..409044a Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/charger-ulog-glink.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/clk-spmi-pmic-div.ko b/recovery/root/vendor_dlkm/lib/modules/clk-spmi-pmic-div.ko new file mode 100644 index 0000000..ab4fc5e Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/clk-spmi-pmic-div.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/cnss2.ko b/recovery/root/vendor_dlkm/lib/modules/cnss2.ko new file mode 100644 index 0000000..a077b45 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/cnss2.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/cnss_nl.ko b/recovery/root/vendor_dlkm/lib/modules/cnss_nl.ko new file mode 100644 index 0000000..66c3194 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/cnss_nl.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/cnss_plat_ipc_qmi_svc.ko b/recovery/root/vendor_dlkm/lib/modules/cnss_plat_ipc_qmi_svc.ko new file mode 100644 index 0000000..9473a91 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/cnss_plat_ipc_qmi_svc.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/cnss_prealloc.ko b/recovery/root/vendor_dlkm/lib/modules/cnss_prealloc.ko new file mode 100644 index 0000000..7418e35 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/cnss_prealloc.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/cnss_utils.ko b/recovery/root/vendor_dlkm/lib/modules/cnss_utils.ko new file mode 100644 index 0000000..a4aa535 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/cnss_utils.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/con_dfpar.ko b/recovery/root/vendor_dlkm/lib/modules/con_dfpar.ko new file mode 100644 index 0000000..40e6f37 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/con_dfpar.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/core_hang_detect.ko b/recovery/root/vendor_dlkm/lib/modules/core_hang_detect.ko new file mode 100644 index 0000000..b8f80d7 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/core_hang_detect.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/coresight-csr.ko b/recovery/root/vendor_dlkm/lib/modules/coresight-csr.ko new file mode 100644 index 0000000..c0b8a81 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/coresight-csr.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/coresight-cti.ko b/recovery/root/vendor_dlkm/lib/modules/coresight-cti.ko new file mode 100644 index 0000000..090bb7f Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/coresight-cti.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/coresight-dummy.ko b/recovery/root/vendor_dlkm/lib/modules/coresight-dummy.ko new file mode 100644 index 0000000..82fedb8 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/coresight-dummy.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/coresight-funnel.ko b/recovery/root/vendor_dlkm/lib/modules/coresight-funnel.ko new file mode 100644 index 0000000..7ac490a Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/coresight-funnel.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/coresight-hwevent.ko b/recovery/root/vendor_dlkm/lib/modules/coresight-hwevent.ko new file mode 100644 index 0000000..94106e7 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/coresight-hwevent.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/coresight-remote-etm.ko b/recovery/root/vendor_dlkm/lib/modules/coresight-remote-etm.ko new file mode 100644 index 0000000..8d37f99 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/coresight-remote-etm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/coresight-replicator.ko b/recovery/root/vendor_dlkm/lib/modules/coresight-replicator.ko new file mode 100644 index 0000000..b41e308 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/coresight-replicator.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/coresight-stm.ko b/recovery/root/vendor_dlkm/lib/modules/coresight-stm.ko new file mode 100644 index 0000000..8e42b22 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/coresight-stm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/coresight-tgu.ko b/recovery/root/vendor_dlkm/lib/modules/coresight-tgu.ko new file mode 100644 index 0000000..342f6b3 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/coresight-tgu.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/coresight-tmc.ko b/recovery/root/vendor_dlkm/lib/modules/coresight-tmc.ko new file mode 100644 index 0000000..a213520 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/coresight-tmc.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/coresight-tpda.ko b/recovery/root/vendor_dlkm/lib/modules/coresight-tpda.ko new file mode 100644 index 0000000..07aff24 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/coresight-tpda.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/coresight-tpdm.ko b/recovery/root/vendor_dlkm/lib/modules/coresight-tpdm.ko new file mode 100644 index 0000000..8159a4a Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/coresight-tpdm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/coresight.ko b/recovery/root/vendor_dlkm/lib/modules/coresight.ko new file mode 100644 index 0000000..2770bfc Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/coresight.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/cpufreq_stats_scmi.ko b/recovery/root/vendor_dlkm/lib/modules/cpufreq_stats_scmi.ko new file mode 100644 index 0000000..5cf9376 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/cpufreq_stats_scmi.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/cpufreq_stats_vendor.ko b/recovery/root/vendor_dlkm/lib/modules/cpufreq_stats_vendor.ko new file mode 100644 index 0000000..18fd796 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/cpufreq_stats_vendor.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/dcc_v2.ko b/recovery/root/vendor_dlkm/lib/modules/dcc_v2.ko new file mode 100644 index 0000000..b10223f Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/dcc_v2.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/ddr_cdev.ko b/recovery/root/vendor_dlkm/lib/modules/ddr_cdev.ko new file mode 100644 index 0000000..092cf6c Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/ddr_cdev.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/debugcc-parrot.ko b/recovery/root/vendor_dlkm/lib/modules/debugcc-parrot.ko new file mode 100644 index 0000000..c859109 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/debugcc-parrot.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/debugcc-ravelin.ko b/recovery/root/vendor_dlkm/lib/modules/debugcc-ravelin.ko new file mode 100644 index 0000000..f96de88 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/debugcc-ravelin.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/dwc3-msm.ko b/recovery/root/vendor_dlkm/lib/modules/dwc3-msm.ko new file mode 100644 index 0000000..2948368 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/dwc3-msm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/ehset.ko b/recovery/root/vendor_dlkm/lib/modules/ehset.ko new file mode 100644 index 0000000..ae5d8cc Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/ehset.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/eud.ko b/recovery/root/vendor_dlkm/lib/modules/eud.ko new file mode 100644 index 0000000..8e6f0ec Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/eud.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/f_fs_ipc_log.ko b/recovery/root/vendor_dlkm/lib/modules/f_fs_ipc_log.ko new file mode 100644 index 0000000..f01c8f8 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/f_fs_ipc_log.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/focaltech_v3.ko b/recovery/root/vendor_dlkm/lib/modules/focaltech_v3.ko new file mode 100644 index 0000000..dabd5d7 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/focaltech_v3.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/frpc-adsprpc.ko b/recovery/root/vendor_dlkm/lib/modules/frpc-adsprpc.ko new file mode 100644 index 0000000..9312093 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/frpc-adsprpc.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/fs19xx_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/fs19xx_dlkm.ko new file mode 100644 index 0000000..81cd5fe Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/fs19xx_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/fsa4480-i2c.ko b/recovery/root/vendor_dlkm/lib/modules/fsa4480-i2c.ko new file mode 100644 index 0000000..6953ebd Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/fsa4480-i2c.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/gh_irq_lend.ko b/recovery/root/vendor_dlkm/lib/modules/gh_irq_lend.ko new file mode 100644 index 0000000..ebfe298 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/gh_irq_lend.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/gh_mem_notifier.ko b/recovery/root/vendor_dlkm/lib/modules/gh_mem_notifier.ko new file mode 100644 index 0000000..5297f63 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/gh_mem_notifier.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/gh_virtio_backend.ko b/recovery/root/vendor_dlkm/lib/modules/gh_virtio_backend.ko new file mode 100644 index 0000000..e368c4b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/gh_virtio_backend.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/glink_pkt.ko b/recovery/root/vendor_dlkm/lib/modules/glink_pkt.ko new file mode 100644 index 0000000..74b5337 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/glink_pkt.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/glink_probe.ko b/recovery/root/vendor_dlkm/lib/modules/glink_probe.ko new file mode 100644 index 0000000..36ac951 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/glink_probe.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/goodix_brl_mmi.ko b/recovery/root/vendor_dlkm/lib/modules/goodix_brl_mmi.ko new file mode 100644 index 0000000..78f5db8 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/goodix_brl_mmi.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/goodix_fod_mmi.ko b/recovery/root/vendor_dlkm/lib/modules/goodix_fod_mmi.ko new file mode 100644 index 0000000..ca02cce Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/goodix_fod_mmi.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/gpi.ko b/recovery/root/vendor_dlkm/lib/modules/gpi.ko new file mode 100644 index 0000000..be49905 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/gpi.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/gpr_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/gpr_dlkm.ko new file mode 100644 index 0000000..d894d57 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/gpr_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/gpucc-parrot.ko b/recovery/root/vendor_dlkm/lib/modules/gpucc-parrot.ko new file mode 100644 index 0000000..9bb806a Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/gpucc-parrot.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/gpucc-ravelin.ko b/recovery/root/vendor_dlkm/lib/modules/gpucc-ravelin.ko new file mode 100644 index 0000000..9d0b39a Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/gpucc-ravelin.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/gsim.ko b/recovery/root/vendor_dlkm/lib/modules/gsim.ko new file mode 100644 index 0000000..032603d Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/gsim.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/guestvm_loader.ko b/recovery/root/vendor_dlkm/lib/modules/guestvm_loader.ko new file mode 100644 index 0000000..9e95ca3 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/guestvm_loader.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/hdcp.ko b/recovery/root/vendor_dlkm/lib/modules/hdcp.ko new file mode 100644 index 0000000..4b0bcb1 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/hdcp.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/hdmi_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/hdmi_dlkm.ko new file mode 100644 index 0000000..908a143 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/hdmi_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/heap_mem_ext_v01.ko b/recovery/root/vendor_dlkm/lib/modules/heap_mem_ext_v01.ko new file mode 100644 index 0000000..bb028fc Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/heap_mem_ext_v01.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/hung_task_enh.ko b/recovery/root/vendor_dlkm/lib/modules/hung_task_enh.ko new file mode 100644 index 0000000..91d95dd Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/hung_task_enh.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/hvc_gunyah.ko b/recovery/root/vendor_dlkm/lib/modules/hvc_gunyah.ko new file mode 100644 index 0000000..661ac4d Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/hvc_gunyah.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/hyp_core_ctl.ko b/recovery/root/vendor_dlkm/lib/modules/hyp_core_ctl.ko new file mode 100644 index 0000000..0460848 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/hyp_core_ctl.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/i2c-dev.ko b/recovery/root/vendor_dlkm/lib/modules/i2c-dev.ko new file mode 100644 index 0000000..335ca05 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/i2c-dev.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/i2c-msm-geni.ko b/recovery/root/vendor_dlkm/lib/modules/i2c-msm-geni.ko new file mode 100644 index 0000000..109d66f Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/i2c-msm-geni.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/icc-test.ko b/recovery/root/vendor_dlkm/lib/modules/icc-test.ko new file mode 100644 index 0000000..9c50582 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/icc-test.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/icnss2.ko b/recovery/root/vendor_dlkm/lib/modules/icnss2.ko new file mode 100644 index 0000000..e80a1ef Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/icnss2.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/ipa_clientsm.ko b/recovery/root/vendor_dlkm/lib/modules/ipa_clientsm.ko new file mode 100644 index 0000000..c41b0ed Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/ipa_clientsm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/ipa_fmwk.ko b/recovery/root/vendor_dlkm/lib/modules/ipa_fmwk.ko new file mode 100644 index 0000000..8d1ade7 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/ipa_fmwk.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/ipam.ko b/recovery/root/vendor_dlkm/lib/modules/ipam.ko new file mode 100644 index 0000000..021b7fc Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/ipam.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/ipanetm.ko b/recovery/root/vendor_dlkm/lib/modules/ipanetm.ko new file mode 100644 index 0000000..689d332 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/ipanetm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/leds-aw2016.ko b/recovery/root/vendor_dlkm/lib/modules/leds-aw2016.ko new file mode 100644 index 0000000..b16cda3 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/leds-aw2016.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/leds-qpnp-flash-v2.ko b/recovery/root/vendor_dlkm/lib/modules/leds-qpnp-flash-v2.ko new file mode 100644 index 0000000..f00c709 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/leds-qpnp-flash-v2.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/leds-qpnp-vibrator-ldo.ko b/recovery/root/vendor_dlkm/lib/modules/leds-qpnp-vibrator-ldo.ko new file mode 100644 index 0000000..d8e3c71 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/leds-qpnp-vibrator-ldo.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/leds-qti-tri-led.ko b/recovery/root/vendor_dlkm/lib/modules/leds-qti-tri-led.ko new file mode 100644 index 0000000..a307762 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/leds-qti-tri-led.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_dlkm.ko new file mode 100644 index 0000000..7cf3a92 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_rx_macro_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_rx_macro_dlkm.ko new file mode 100644 index 0000000..32c3eed Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_rx_macro_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_tx_macro_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_tx_macro_dlkm.ko new file mode 100644 index 0000000..b5de5f1 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_tx_macro_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_va_macro_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_va_macro_dlkm.ko new file mode 100644 index 0000000..23599f3 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_va_macro_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_wsa2_macro_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_wsa2_macro_dlkm.ko new file mode 100644 index 0000000..6d71610 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_wsa2_macro_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_wsa_macro_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_wsa_macro_dlkm.ko new file mode 100644 index 0000000..d503df5 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/lpass_cdc_wsa_macro_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/lvstest.ko b/recovery/root/vendor_dlkm/lib/modules/lvstest.ko new file mode 100644 index 0000000..4f96ecb Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/lvstest.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/lzo-rle.ko b/recovery/root/vendor_dlkm/lib/modules/lzo-rle.ko new file mode 100644 index 0000000..53967ba Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/lzo-rle.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/lzo.ko b/recovery/root/vendor_dlkm/lib/modules/lzo.ko new file mode 100644 index 0000000..24f4274 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/lzo.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/machine_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/machine_dlkm.ko new file mode 100644 index 0000000..28078e8 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/machine_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/mbhc_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/mbhc_dlkm.ko new file mode 100644 index 0000000..de61f21 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/mbhc_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/mdt_loader.ko b/recovery/root/vendor_dlkm/lib/modules/mdt_loader.ko new file mode 100644 index 0000000..c12d603 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/mdt_loader.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/memlat.ko b/recovery/root/vendor_dlkm/lib/modules/memlat.ko new file mode 100644 index 0000000..35a289b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/memlat.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/mhi.ko b/recovery/root/vendor_dlkm/lib/modules/mhi.ko new file mode 100644 index 0000000..b1c9be5 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/mhi.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/mhi_dev_dtr.ko b/recovery/root/vendor_dlkm/lib/modules/mhi_dev_dtr.ko new file mode 100644 index 0000000..cc66583 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/mhi_dev_dtr.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/mhi_dev_netdev.ko b/recovery/root/vendor_dlkm/lib/modules/mhi_dev_netdev.ko new file mode 100644 index 0000000..c3f9d37 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/mhi_dev_netdev.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/mhi_dev_uci.ko b/recovery/root/vendor_dlkm/lib/modules/mhi_dev_uci.ko new file mode 100644 index 0000000..86b89d3 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/mhi_dev_uci.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/microdump_collector.ko b/recovery/root/vendor_dlkm/lib/modules/microdump_collector.ko new file mode 100644 index 0000000..ebc4ce9 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/microdump_collector.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/mmi_annotate.ko b/recovery/root/vendor_dlkm/lib/modules/mmi_annotate.ko new file mode 100644 index 0000000..5441a66 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/mmi_annotate.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/mmi_charger.ko b/recovery/root/vendor_dlkm/lib/modules/mmi_charger.ko new file mode 100644 index 0000000..301b034 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/mmi_charger.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/mmi_info.ko b/recovery/root/vendor_dlkm/lib/modules/mmi_info.ko new file mode 100644 index 0000000..858dc57 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/mmi_info.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/mmi_relay.ko b/recovery/root/vendor_dlkm/lib/modules/mmi_relay.ko new file mode 100644 index 0000000..e3fdb66 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/mmi_relay.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/mmi_sys_temp.ko b/recovery/root/vendor_dlkm/lib/modules/mmi_sys_temp.ko new file mode 100644 index 0000000..6e0ec6a Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/mmi_sys_temp.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/mmrm_test_module.ko b/recovery/root/vendor_dlkm/lib/modules/mmrm_test_module.ko new file mode 100644 index 0000000..b784191 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/mmrm_test_module.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/modules.alias b/recovery/root/vendor_dlkm/lib/modules/modules.alias new file mode 100644 index 0000000..4482af0 --- /dev/null +++ b/recovery/root/vendor_dlkm/lib/modules/modules.alias @@ -0,0 +1,661 @@ +# Aliases extracted from modules themselves. +alias of:N*T*Cqcom,audio_prm audio_prm_dlkm +alias of:N*T*Cqcom,audio_prmC* audio_prm_dlkm +alias of:N*T*Cqcom,msm-ext-disp-audio-codec-rx hdmi_dlkm +alias of:N*T*Cqcom,msm-ext-disp-audio-codec-rxC* hdmi_dlkm +alias of:N*T*Cqcom,ufs-phy-qmp-v4-lahaina phy_qcom_ufs_qmp_v4_lahaina +alias of:N*T*Cqcom,ufs-phy-qmp-v4-lahainaC* phy_qcom_ufs_qmp_v4_lahaina +alias MHI_UCI mhi_dev_uci +alias of:N*T*Cqcom,msm-eud eud +alias of:N*T*Cqcom,msm-eudC* eud +alias crypto-lzo lzo +alias lzo lzo +alias usbfunc:moto_mass_storage moto_f_mass_storage +alias of:N*T*Cqcom,adsp-notify q6_notifier_dlkm +alias of:N*T*Cqcom,adsp-notifyC* q6_notifier_dlkm +alias of:N*T*Cqcom,pm8941-pwrkey pm8941_pwrkey +alias of:N*T*Cqcom,pm8941-pwrkeyC* pm8941_pwrkey +alias of:N*T*Cqcom,pm8941-resin pm8941_pwrkey +alias of:N*T*Cqcom,pm8941-resinC* pm8941_pwrkey +alias of:N*T*Cqcom,pmk8350-pwrkey pm8941_pwrkey +alias of:N*T*Cqcom,pmk8350-pwrkeyC* pm8941_pwrkey +alias of:N*T*Cqcom,pmk8350-resin pm8941_pwrkey +alias of:N*T*Cqcom,pmk8350-resinC* pm8941_pwrkey +alias MHI_DTR mhi_dev_dtr +alias mhi:IPCR qrtr_mhi +alias of:N*T*Cqcom,ufs-phy-qmp-v4-cape phy_qcom_ufs_qmp_v4_cape +alias of:N*T*Cqcom,ufs-phy-qmp-v4-capeC* phy_qcom_ufs_qmp_v4_cape +alias of:N*T*Cqcom,qpnp-vibrator-ldo leds_qpnp_vibrator_ldo +alias of:N*T*Cqcom,qpnp-vibrator-ldoC* leds_qpnp_vibrator_ldo +alias platform:qcom,qpnp-pbs qpnp_pbs +alias platform:mmi_relay mmi_relay +alias of:N*T*Cmmi,sys-relay mmi_relay +alias of:N*T*Cmmi,sys-relayC* mmi_relay +alias usbfunc:gsi usb_f_gsi +alias of:N*T*Cqcom,ufs-phy-qmp-14nm phy_qcom_ufs_qmp_14nm +alias of:N*T*Cqcom,ufs-phy-qmp-14nmC* phy_qcom_ufs_qmp_14nm +alias of:N*T*Cqcom,msm8996-ufs-phy-qmp-14nm phy_qcom_ufs_qmp_14nm +alias of:N*T*Cqcom,msm8996-ufs-phy-qmp-14nmC* phy_qcom_ufs_qmp_14nm +alias of:N*T*Cqcom,bam-v1.3.0 bam_dma +alias of:N*T*Cqcom,bam-v1.3.0C* bam_dma +alias of:N*T*Cqcom,bam-v1.4.0 bam_dma +alias of:N*T*Cqcom,bam-v1.4.0C* bam_dma +alias of:N*T*Cqcom,bam-v1.7.0 bam_dma +alias of:N*T*Cqcom,bam-v1.7.0C* bam_dma +alias of:N*T*Cqcom,qfprom-sys qfprom_sys +alias of:N*T*Cqcom,qfprom-sysC* qfprom_sys +alias of:N*T*Cqcom,usb-bam-msm usb_bam +alias of:N*T*Cqcom,usb-bam-msmC* usb_bam +alias of:N*T*Cqcom,ufs-phy-qmp-v4-waipio phy_qcom_ufs_qmp_v4_waipio +alias of:N*T*Cqcom,ufs-phy-qmp-v4-waipioC* phy_qcom_ufs_qmp_v4_waipio +alias of:N*T*Cqcom,msm-mmrm msm_mmrm +alias of:N*T*Cqcom,msm-mmrmC* msm_mmrm +alias of:N*T*Cqcom,audio-pkt audio_pkt_dlkm +alias of:N*T*Cqcom,audio-pktC* audio_pkt_dlkm +alias of:N*T*Cqcom,audio-pkt-core-platform audio_pkt_dlkm +alias of:N*T*Cqcom,audio-pkt-core-platformC* audio_pkt_dlkm +alias of:N*T*Cqcom,msm-ext-disp msm_ext_display +alias of:N*T*Cqcom,msm-ext-dispC* msm_ext_display +alias of:N*T*Cqcom,msm-vidc msm_video +alias of:N*T*Cqcom,msm-vidcC* msm_video +alias of:N*T*Cqcom,msm-vidc,context-bank msm_video +alias of:N*T*Cqcom,msm-vidc,context-bankC* msm_video +alias of:N*T*Cqcom,msm8974-adsp-pil qcom_q6v5_pas +alias of:N*T*Cqcom,msm8974-adsp-pilC* qcom_q6v5_pas +alias of:N*T*Cqcom,msm8996-adsp-pil qcom_q6v5_pas +alias of:N*T*Cqcom,msm8996-adsp-pilC* qcom_q6v5_pas +alias of:N*T*Cqcom,msm8996-slpi-pil qcom_q6v5_pas +alias of:N*T*Cqcom,msm8996-slpi-pilC* qcom_q6v5_pas +alias of:N*T*Cqcom,msm8998-adsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,msm8998-adsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,msm8998-slpi-pas qcom_q6v5_pas +alias of:N*T*Cqcom,msm8998-slpi-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,qcs404-adsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,qcs404-adsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,qcs404-cdsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,qcs404-cdsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,qcs404-wcss-pas qcom_q6v5_pas +alias of:N*T*Cqcom,qcs404-wcss-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,sc7180-mpss-pas qcom_q6v5_pas +alias of:N*T*Cqcom,sc7180-mpss-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,sdm845-adsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,sdm845-adsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,sdm845-cdsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,sdm845-cdsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,sm8150-adsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,sm8150-adsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,sm8150-cdsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,sm8150-cdsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,sm8150-mpss-pas qcom_q6v5_pas +alias of:N*T*Cqcom,sm8150-mpss-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,sm8150-slpi-pas qcom_q6v5_pas +alias of:N*T*Cqcom,sm8150-slpi-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,sm8250-adsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,sm8250-adsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,sm8250-cdsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,sm8250-cdsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,sm8250-slpi-pas qcom_q6v5_pas +alias of:N*T*Cqcom,sm8250-slpi-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,waipio-adsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,waipio-adsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,waipio-cdsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,waipio-cdsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,waipio-slpi-pas qcom_q6v5_pas +alias of:N*T*Cqcom,waipio-slpi-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,waipio-modem-pas qcom_q6v5_pas +alias of:N*T*Cqcom,waipio-modem-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,diwali-adsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,diwali-adsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,diwali-cdsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,diwali-cdsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,diwali-modem-pas qcom_q6v5_pas +alias of:N*T*Cqcom,diwali-modem-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,diwali-wpss-pas qcom_q6v5_pas +alias of:N*T*Cqcom,diwali-wpss-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,cape-adsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,cape-adsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,cape-cdsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,cape-cdsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,cape-modem-pas qcom_q6v5_pas +alias of:N*T*Cqcom,cape-modem-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,parrot-adsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,parrot-adsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,parrot-cdsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,parrot-cdsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,parrot-modem-pas qcom_q6v5_pas +alias of:N*T*Cqcom,parrot-modem-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,parrot-wpss-pas qcom_q6v5_pas +alias of:N*T*Cqcom,parrot-wpss-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,neo-adsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,neo-adsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,neo-cdsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,neo-cdsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,neo-wpss-pas qcom_q6v5_pas +alias of:N*T*Cqcom,neo-wpss-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,anorak-adsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,anorak-adsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,anorak-cdsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,anorak-cdsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,ravelin-adsp-pas qcom_q6v5_pas +alias of:N*T*Cqcom,ravelin-adsp-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,ravelin-modem-pas qcom_q6v5_pas +alias of:N*T*Cqcom,ravelin-modem-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,ravelin-wpss-pas qcom_q6v5_pas +alias of:N*T*Cqcom,ravelin-wpss-pasC* qcom_q6v5_pas +alias of:N*T*Cqcom,ravelin-camcc camcc_ravelin +alias of:N*T*Cqcom,ravelin-camccC* camcc_ravelin +alias platform:spi_geni spi_msm_geni +alias platform:swr-mstr swr_ctrl_dlkm +alias i2c:aw2016_led leds_aw2016 +alias leds:leds-qpnp-flash-v2 leds_qpnp_flash_v2 +alias amba:d???BB961 coresight_tmc +alias amba:d???BB9E8 coresight_tmc +alias amba:d???BB9E9 coresight_tmc +alias amba:d???BB9EA coresight_tmc +alias of:N*T*Cqcom,spmi-glink-debug spmi_glink_debug +alias of:N*T*Cqcom,spmi-glink-debugC* spmi_glink_debug +alias of:N*T*Cqcom,usb-ssphy-qmp phy_msm_ssusb_qmp +alias of:N*T*Cqcom,usb-ssphy-qmpC* phy_msm_ssusb_qmp +alias of:N*T*Cqcom,usb-ssphy-qmp-v1 phy_msm_ssusb_qmp +alias of:N*T*Cqcom,usb-ssphy-qmp-v1C* phy_msm_ssusb_qmp +alias of:N*T*Cqcom,usb-ssphy-qmp-v2 phy_msm_ssusb_qmp +alias of:N*T*Cqcom,usb-ssphy-qmp-v2C* phy_msm_ssusb_qmp +alias of:N*T*Cqcom,usb-ssphy-qmp-dp-combo phy_msm_ssusb_qmp +alias of:N*T*Cqcom,usb-ssphy-qmp-dp-comboC* phy_msm_ssusb_qmp +alias of:N*T*Cqcom,usb-ssphy-qmp-usb3-or-dp phy_msm_ssusb_qmp +alias of:N*T*Cqcom,usb-ssphy-qmp-usb3-or-dpC* phy_msm_ssusb_qmp +alias i2c:slg51000 slg5bm43670 +alias of:N*T*Cqcom,kgsl-3d0 msm_kgsl +alias of:N*T*Cqcom,kgsl-3d0C* msm_kgsl +alias of:N*T*Cqcom,parrot-videocc videocc_parrot +alias of:N*T*Cqcom,parrot-videoccC* videocc_parrot +alias of:N*T*Cqcom,gpr gpr_dlkm +alias of:N*T*Cqcom,gprC* gpr_dlkm +alias of:N*T*Cqcom,msm-cdsprm-rpmsg cdsprm +alias of:N*T*Cqcom,msm-cdsprm-rpmsgC* cdsprm +alias of:N*T*Cqcom,ufs-phy-qmp-v4-anarok phy_qcom_ufs_qmp_v4_anarok +alias of:N*T*Cqcom,ufs-phy-qmp-v4-anarokC* phy_qcom_ufs_qmp_v4_anarok +alias of:N*T*Cqcom,smd qcom_smd +alias of:N*T*Cqcom,smdC* qcom_smd +alias usb:v1A0Ap0101d*dc*dsc*dp*ic*isc*ip*in* ehset +alias usb:v1A0Ap0102d*dc*dsc*dp*ic*isc*ip*in* ehset +alias usb:v1A0Ap0103d*dc*dsc*dp*ic*isc*ip*in* ehset +alias usb:v1A0Ap0104d*dc*dsc*dp*ic*isc*ip*in* ehset +alias usb:v1A0Ap0106d*dc*dsc*dp*ic*isc*ip*in* ehset +alias usb:v1A0Ap0107d*dc*dsc*dp*ic*isc*ip*in* ehset +alias usb:v1A0Ap0108d*dc*dsc*dp*ic*isc*ip*in* ehset +alias of:N*T*Cqcom,qcedev qcedev_mod +alias of:N*T*Cqcom,qcedevC* qcedev_mod +alias of:N*T*Cqcom,qcedev,context-bank qcedev_mod +alias of:N*T*Cqcom,qcedev,context-bankC* qcedev_mod +alias of:N*T*Cqcom,msm-fastrpc-rpmsg frpc_adsprpc +alias of:N*T*Cqcom,msm-fastrpc-rpmsgC* frpc_adsprpc +alias of:N*T*Cqcom,pm8916-pon qcom_pon +alias of:N*T*Cqcom,pm8916-ponC* qcom_pon +alias of:N*T*Cqcom,pms405-pon qcom_pon +alias of:N*T*Cqcom,pms405-ponC* qcom_pon +alias of:N*T*Cqcom,pm8998-pon qcom_pon +alias of:N*T*Cqcom,pm8998-ponC* qcom_pon +alias of:N*T*Cqcom,sn-nci nfc_i2c +alias of:N*T*Cqcom,sn-nciC* nfc_i2c +alias of:N*T*Carm,coresight-replicator coresight_replicator +alias of:N*T*Carm,coresight-replicatorC* coresight_replicator +alias of:N*T*Carm,coresight-static-replicator coresight_replicator +alias of:N*T*Carm,coresight-static-replicatorC* coresight_replicator +alias amba:d???BB909 coresight_replicator +alias amba:d???BB9EC coresight_replicator +alias of:N*T*Cqcom,cam-req-mgr camera +alias of:N*T*Cqcom,cam-req-mgrC* camera +alias of:N*T*Cqcom,cam-sync camera +alias of:N*T*Cqcom,cam-syncC* camera +alias of:N*T*Cqcom,csid170 camera +alias of:N*T*Cqcom,csid170C* camera +alias of:N*T*Cqcom,csid170_200 camera +alias of:N*T*Cqcom,csid170_200C* camera +alias of:N*T*Cqcom,csid175 camera +alias of:N*T*Cqcom,csid175C* camera +alias of:N*T*Cqcom,csid175_200 camera +alias of:N*T*Cqcom,csid175_200C* camera +alias of:N*T*Cqcom,csid165_204 camera +alias of:N*T*Cqcom,csid165_204C* camera +alias of:N*T*Cqcom,csid480 camera +alias of:N*T*Cqcom,csid480C* camera +alias of:N*T*Cqcom,csid570 camera +alias of:N*T*Cqcom,csid570C* camera +alias of:N*T*Cqcom,csid580 camera +alias of:N*T*Cqcom,csid580C* camera +alias of:N*T*Cqcom,csid680 camera +alias of:N*T*Cqcom,csid680C* camera +alias of:N*T*Cqcom,csid680_110 camera +alias of:N*T*Cqcom,csid680_110C* camera +alias of:N*T*Cqcom,csid780 camera +alias of:N*T*Cqcom,csid780C* camera +alias of:N*T*Cqcom,csid-lite170 camera +alias of:N*T*Cqcom,csid-lite170C* camera +alias of:N*T*Cqcom,csid-lite175 camera +alias of:N*T*Cqcom,csid-lite175C* camera +alias of:N*T*Cqcom,csid-lite165 camera +alias of:N*T*Cqcom,csid-lite165C* camera +alias of:N*T*Cqcom,csid-lite480 camera +alias of:N*T*Cqcom,csid-lite480C* camera +alias of:N*T*Cqcom,csid-lite570 camera +alias of:N*T*Cqcom,csid-lite570C* camera +alias of:N*T*Cqcom,csid-lite580 camera +alias of:N*T*Cqcom,csid-lite580C* camera +alias of:N*T*Cqcom,csid-lite680 camera +alias of:N*T*Cqcom,csid-lite680C* camera +alias of:N*T*Cqcom,csid-lite680_110 camera +alias of:N*T*Cqcom,csid-lite680_110C* camera +alias of:N*T*Cqcom,csid-lite780 camera +alias of:N*T*Cqcom,csid-lite780C* camera +alias of:N*T*Cqcom,sfe680 camera +alias of:N*T*Cqcom,sfe680C* camera +alias of:N*T*Cqcom,sfe780 camera +alias of:N*T*Cqcom,sfe780C* camera +alias of:N*T*Cqcom,vfe170 camera +alias of:N*T*Cqcom,vfe170C* camera +alias of:N*T*Cqcom,vfe170_150 camera +alias of:N*T*Cqcom,vfe170_150C* camera +alias of:N*T*Cqcom,vfe175 camera +alias of:N*T*Cqcom,vfe175C* camera +alias of:N*T*Cqcom,vfe175_130 camera +alias of:N*T*Cqcom,vfe175_130C* camera +alias of:N*T*Cqcom,vfe480 camera +alias of:N*T*Cqcom,vfe480C* camera +alias of:N*T*Cqcom,vfe570 camera +alias of:N*T*Cqcom,vfe570C* camera +alias of:N*T*Cqcom,vfe580 camera +alias of:N*T*Cqcom,vfe580C* camera +alias of:N*T*Cqcom,vfe680 camera +alias of:N*T*Cqcom,vfe680C* camera +alias of:N*T*Cqcom,vfe680_110 camera +alias of:N*T*Cqcom,vfe680_110C* camera +alias of:N*T*Cqcom,vfe780 camera +alias of:N*T*Cqcom,vfe780C* camera +alias of:N*T*Cqcom,vfe-lite170 camera +alias of:N*T*Cqcom,vfe-lite170C* camera +alias of:N*T*Cqcom,vfe-lite175 camera +alias of:N*T*Cqcom,vfe-lite175C* camera +alias of:N*T*Cqcom,vfe-lite480 camera +alias of:N*T*Cqcom,vfe-lite480C* camera +alias of:N*T*Cqcom,vfe-lite570 camera +alias of:N*T*Cqcom,vfe-lite570C* camera +alias of:N*T*Cqcom,vfe-lite580 camera +alias of:N*T*Cqcom,vfe-lite580C* camera +alias of:N*T*Cqcom,vfe-lite680 camera +alias of:N*T*Cqcom,vfe-lite680C* camera +alias of:N*T*Cqcom,vfe-lite680_110 camera +alias of:N*T*Cqcom,vfe-lite680_110C* camera +alias of:N*T*Cqcom,vfe-lite780 camera +alias of:N*T*Cqcom,vfe-lite780C* camera +alias of:N*T*Cqcom,cam-ipe camera +alias of:N*T*Cqcom,cam-ipeC* camera +alias of:N*T*Cqcom,cam-ipe680 camera +alias of:N*T*Cqcom,cam-ipe680C* camera +alias of:N*T*Cqcom,cam-a5 camera +alias of:N*T*Cqcom,cam-a5C* camera +alias of:N*T*Cqcom,cam-lx7 camera +alias of:N*T*Cqcom,cam-lx7C* camera +alias of:N*T*Cqcom,cam-bps camera +alias of:N*T*Cqcom,cam-bpsC* camera +alias of:N*T*Cqcom,cam-bps680 camera +alias of:N*T*Cqcom,cam-bps680C* camera +alias of:N*T*Cqcom,actuator camera +alias of:N*T*Cqcom,actuatorC* camera +alias of:N*T*Cqcom,cam-i2c-actuator camera +alias of:N*T*Cqcom,cam-i2c-actuatorC* camera +alias of:N*T*Cqcom,cci camera +alias of:N*T*Cqcom,cciC* camera +alias of:N*T*Cqcom,cam-tpg101 camera +alias of:N*T*Cqcom,cam-tpg101C* camera +alias of:N*T*Cqcom,cam-tpg102 camera +alias of:N*T*Cqcom,cam-tpg102C* camera +alias of:N*T*Cqcom,cam-tpg103 camera +alias of:N*T*Cqcom,cam-tpg103C* camera +alias of:N*T*Cqcom,csiphy camera +alias of:N*T*Cqcom,csiphyC* camera +alias of:N*T*Cqcom,eeprom camera +alias of:N*T*Cqcom,eepromC* camera +alias of:N*T*Cqcom,cam-i2c-eeprom camera +alias of:N*T*Cqcom,cam-i2c-eepromC* camera +alias of:N*T*Cqcom,ois camera +alias of:N*T*Cqcom,oisC* camera +alias of:N*T*Cqcom,cam-i2c-ois camera +alias of:N*T*Cqcom,cam-i2c-oisC* camera +alias of:N*T*Cqcom,cam-sensor camera +alias of:N*T*Cqcom,cam-sensorC* camera +alias of:N*T*Cqcom,cam-i2c-sensor camera +alias of:N*T*Cqcom,cam-i2c-sensorC* camera +alias of:N*T*Cqcom,cam-res-mgr camera +alias of:N*T*Cqcom,cam-res-mgrC* camera +alias of:N*T*Cqcom,camera-flash camera +alias of:N*T*Cqcom,camera-flashC* camera +alias of:N*T*Cqcom,cam-i2c-flash camera +alias of:N*T*Cqcom,cam-i2c-flashC* camera +alias of:N*T*Cqcom,cre camera +alias of:N*T*Cqcom,creC* camera +alias of:N*T*Cqcom,cam-cre camera +alias of:N*T*Cqcom,cam-creC* camera +alias of:N*T*Cqcom,ppi100 camera +alias of:N*T*Cqcom,ppi100C* camera +alias of:N*T*Cqcom,tfe530 camera +alias of:N*T*Cqcom,tfe530C* camera +alias of:N*T*Cqcom,tfe640 camera +alias of:N*T*Cqcom,tfe640C* camera +alias of:N*T*Cqcom,tfe640_210 camera +alias of:N*T*Cqcom,tfe640_210C* camera +alias of:N*T*Cqcom,csid530 camera +alias of:N*T*Cqcom,csid530C* camera +alias of:N*T*Cqcom,csid640 camera +alias of:N*T*Cqcom,csid640C* camera +alias of:N*T*Cqcom,csid640_210 camera +alias of:N*T*Cqcom,csid640_210C* camera +alias of:N*T*Cqcom,spmi-clkdiv clk_spmi_pmic_div +alias of:N*T*Cqcom,spmi-clkdivC* clk_spmi_pmic_div +alias usbfunc:ccid usb_f_ccid +alias of:N*T*Cqcom,schgm-flash schgm_flash +alias of:N*T*Cqcom,schgm-flashC* schgm_flash +alias i2c:ps5169_redriver ssusb_redriver_ps5169 +alias of:N*T*Cqcom,ufs-phy-qmp-v3 phy_qcom_ufs_qmp_v3 +alias of:N*T*Cqcom,ufs-phy-qmp-v3C* phy_qcom_ufs_qmp_v3 +alias of:N*T*Cqcom,wcn6750 icnss2 +alias of:N*T*Cqcom,wcn6750C* icnss2 +alias of:N*T*Cqcom,icnss icnss2 +alias of:N*T*Cqcom,icnssC* icnss2 +alias of:N*T*Cqcom,wcn6450 icnss2 +alias of:N*T*Cqcom,wcn6450C* icnss2 +alias of:N*T*Cfocaltech,fts focaltech_v3 +alias of:N*T*Cfocaltech,ftsC* focaltech_v3 +alias amba:d???[37BF]B968 coresight_tpdm +alias i2c:wl2864c wl2864c +alias i2c:sx937x sx937x_sar +alias amba:d???[37BF]B969 coresight_tpda +alias platform:mmi_sys_temp mmi_sys_temp +alias of:N*T*Cmmi,sys-temp mmi_sys_temp +alias of:N*T*Cmmi,sys-tempC* mmi_sys_temp +alias platform:i2c_geni i2c_msm_geni +alias of:N*T*Cqcom,i2c-geni i2c_msm_geni +alias of:N*T*Cqcom,i2c-geniC* i2c_msm_geni +alias platform:sys_pm_vx sys_pm_vx +alias crypto-lzo-rle lzo_rle +alias lzo-rle lzo_rle +alias char-major-21-* sg +alias usbfunc:usbnet moto_f_usbnet +alias usbfunc:cser usb_f_cdev +alias of:N*T*Cgoodix,gt9897 goodix_brl_mmi +alias of:N*T*Cgoodix,gt9897C* goodix_brl_mmi +alias of:N*T*Cgoodix,gt9966 goodix_brl_mmi +alias of:N*T*Cgoodix,gt9966C* goodix_brl_mmi +alias of:N*T*Cgoodix,gt9916 goodix_brl_mmi +alias of:N*T*Cgoodix,gt9916C* goodix_brl_mmi +alias i2c:goodix_ts goodix_brl_mmi +alias platform:goodix_ts goodix_brl_mmi +alias i2c:sgm41541 sgm4154x_charger_lite +alias i2c:sgm41542 sgm4154x_charger_lite +alias i2c:sgm41516 sgm4154x_charger_lite +alias i2c:sgm41516D sgm4154x_charger_lite +alias of:N*T*Csgm,sgm41541 sgm4154x_charger_lite +alias of:N*T*Csgm,sgm41541C* sgm4154x_charger_lite +alias of:N*T*Csgm,sgm41542 sgm4154x_charger_lite +alias of:N*T*Csgm,sgm41542C* sgm4154x_charger_lite +alias of:N*T*Csgm,sgm41516 sgm4154x_charger_lite +alias of:N*T*Csgm,sgm41516C* sgm4154x_charger_lite +alias of:N*T*Csgm,sgm41516D sgm4154x_charger_lite +alias of:N*T*Csgm,sgm41516DC* sgm4154x_charger_lite +alias platform:spmi-temp-alarm qcom_spmi_temp_alarm +alias of:N*T*Cqcom,spmi-temp-alarm qcom_spmi_temp_alarm +alias of:N*T*Cqcom,spmi-temp-alarmC* qcom_spmi_temp_alarm +alias usbfunc:diag usb_f_diag +alias platform:spmi_pmic_arb_debug spmi_pmic_arb_debug +alias of:N*T*Cqcom,spmi-pmic-arb-debug spmi_pmic_arb_debug +alias of:N*T*Cqcom,spmi-pmic-arb-debugC* spmi_pmic_arb_debug +alias of:N*T*Cqcom,ravelin-gpucc gpucc_ravelin +alias of:N*T*Cqcom,ravelin-gpuccC* gpucc_ravelin +alias pci:v00001AE9d00000310sv*sd*bc*sc*i* wil6210 +alias pci:v00001AE9d00000302sv*sd*bc*sc*i* wil6210 +alias pci:v000017CBd00001201sv*sd*bc*sc*i* wil6210 +alias i2c:aw882xx_smartpa aw882xx_dlkm +alias of:N*T*Cqcom,lpass-cdc lpass_cdc_dlkm +alias of:N*T*Cqcom,lpass-cdcC* lpass_cdc_dlkm +alias of:N*T*Cqcom,lpass-cdc-clk-rsc-mngr lpass_cdc_dlkm +alias of:N*T*Cqcom,lpass-cdc-clk-rsc-mngrC* lpass_cdc_dlkm +alias of:N*T*Cqcom,pmic-pon-log pmic_pon_log +alias of:N*T*Cqcom,pmic-pon-logC* pmic_pon_log +alias of:N*T*Cqcom,msm-audio-ion audpkt_ion_dlkm +alias of:N*T*Cqcom,msm-audio-ionC* audpkt_ion_dlkm +alias of:N*T*Cqcom,msm-audio-ion-cma audpkt_ion_dlkm +alias of:N*T*Cqcom,msm-audio-ion-cmaC* audpkt_ion_dlkm +alias of:N*T*Cqcom,logbuf-vendor-hooks qcom_logbuf_vendor_hooks +alias of:N*T*Cqcom,logbuf-vendor-hooksC* qcom_logbuf_vendor_hooks +alias of:N*T*Cqcom,smp2p smp2p +alias of:N*T*Cqcom,smp2pC* smp2p +alias of:N*T*Cqcom,parrot-camcc camcc_parrot +alias of:N*T*Cqcom,parrot-camccC* camcc_parrot +alias net-pf-16-proto-16-family-nl80211 cfg80211 +alias of:N*T*Cqcom,usb-audio-qmi-dev snd_usb_audio_qmi +alias of:N*T*Cqcom,usb-audio-qmi-devC* snd_usb_audio_qmi +alias of:N*T*Cqcom,slim-ngd-v1.5.0 slim_qcom_ngd_ctrl +alias of:N*T*Cqcom,slim-ngd-v1.5.0C* slim_qcom_ngd_ctrl +alias of:N*T*Cqcom,slim-ngd-v2.1.0 slim_qcom_ngd_ctrl +alias of:N*T*Cqcom,slim-ngd-v2.1.0C* slim_qcom_ngd_ctrl +alias of:N*T*Cqcom,gpi-dma gpi +alias of:N*T*Cqcom,gpi-dmaC* gpi +alias of:N*T*Cqcom,spf_core spf_core_dlkm +alias of:N*T*Cqcom,spf_coreC* spf_core_dlkm +alias platform:qcom-spmi-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8005-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8005-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8916-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8916-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8941-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8941-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8950-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8950-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmi8950-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmi8950-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8994-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8994-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmi8994-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmi8994-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8998-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8998-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmi8998-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmi8998-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pma8084-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pma8084-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pms405-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pms405-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm660-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm660-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm660l-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm660l-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8150-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8150-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8150b-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8150b-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8150l-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8150l-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm6150-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm6150-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm6150l-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm6150l-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8350-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8350-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8350b-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8350b-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8350c-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8350c-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmk8350-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmk8350-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmr735a-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmr735a-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmr735b-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmr735b-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm7250b-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm7250b-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm6350-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm6350-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm6150l-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm6150l-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmx65-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmx65-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8450-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8450-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm7325-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm7325-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm7325b-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm7325b-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm6450-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm6450-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8550-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8550-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8550b-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8550b-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8550ve-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8550ve-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8550vs-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pm8550vs-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmk8550-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmk8550-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmr735d-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmr735d-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmxr2230-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmxr2230-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmi632-gpio pinctrl_spmi_gpio +alias of:N*T*Cqcom,pmi632-gpioC* pinctrl_spmi_gpio +alias of:N*T*Cti,bq27426 bq27426_fg_mmi +alias of:N*T*Cti,bq27426C* bq27426_fg_mmi +alias i2c:bq27426 bq27426_fg_mmi +alias of:N*T*Cqcom,ufs-phy-qmp-v4-diwali phy_qcom_ufs_qmp_v4_diwali +alias of:N*T*Cqcom,ufs-phy-qmp-v4-diwaliC* phy_qcom_ufs_qmp_v4_diwali +alias amba:d???BB962 coresight_stm +alias amba:d???BB963 coresight_stm +alias of:N*T*Cqcom,dwc-usb3-msm dwc3_msm +alias of:N*T*Cqcom,dwc-usb3-msmC* dwc3_msm +alias of:N*T*Cqcom,cdsp-loader cdsp_loader +alias of:N*T*Cqcom,cdsp-loaderC* cdsp_loader +alias platform:waipio-asoc-snd machine_dlkm +alias of:N*T*Cqcom,waipio-asoc-snd machine_dlkm +alias of:N*T*Cqcom,waipio-asoc-sndC* machine_dlkm +alias of:N*T*Cqcom,waipio-asoc-snd-stub machine_dlkm +alias of:N*T*Cqcom,waipio-asoc-snd-stubC* machine_dlkm +alias of:N*T*Cqcom,msm-hdcp msm_drm +alias of:N*T*Cqcom,msm-hdcpC* msm_drm +alias of:N*T*Cqcom,mdp4 msm_drm +alias of:N*T*Cqcom,mdp4C* msm_drm +alias of:N*T*Cqcom,mdss msm_drm +alias of:N*T*Cqcom,mdssC* msm_drm +alias of:N*T*Cqcom,sde-kms msm_drm +alias of:N*T*Cqcom,sde-kmsC* msm_drm +alias of:N*T*Cqcom,smmu_sde_unsec msm_drm +alias of:N*T*Cqcom,smmu_sde_unsecC* msm_drm +alias of:N*T*Cqcom,smmu_sde_sec msm_drm +alias of:N*T*Cqcom,smmu_sde_secC* msm_drm +alias of:N*T*Cqcom,smmu_sde_nrt_unsec msm_drm +alias of:N*T*Cqcom,smmu_sde_nrt_unsecC* msm_drm +alias of:N*T*Cqcom,smmu_sde_nrt_sec msm_drm +alias of:N*T*Cqcom,smmu_sde_nrt_secC* msm_drm +alias platform:soundwire swr_dlkm +alias usbfunc:qdss usb_f_qdss +alias of:N*T*Cqcom,usb-hsphy-snps-femto phy_msm_snps_hs +alias of:N*T*Cqcom,usb-hsphy-snps-femtoC* phy_msm_snps_hs +alias pci:v000017CBd000000FFsv*sd*bc*sc*i* ipam +alias of:N*T*Cqcom,rmnet-ipa3 ipam +alias of:N*T*Cqcom,rmnet-ipa3C* ipam +alias of:N*T*Cqcom,ipa-mpm ipam +alias of:N*T*Cqcom,ipa-mpmC* ipam +alias rpmsg:IPCRTR qrtr_smd +alias of:N*T*Cqcom,rimps qcom_rimps +alias of:N*T*Cqcom,rimpsC* qcom_rimps +alias of:N*T*Cqcom,adsp-loader adsp_loader_dlkm +alias of:N*T*Cqcom,adsp-loaderC* adsp_loader_dlkm +alias of:N*T*Carm,coresight-static-funnel coresight_funnel +alias of:N*T*Carm,coresight-static-funnelC* coresight_funnel +alias amba:d???BB908 coresight_funnel +alias amba:d???BB9EB coresight_funnel +alias of:N*T*Cqcom,memshare msm_memshare +alias of:N*T*Cqcom,memshareC* msm_memshare +alias of:N*T*Cqcom,memshare-peripheral msm_memshare +alias of:N*T*Cqcom,memshare-peripheralC* msm_memshare +alias of:N*T*Cqcom,lpi-pinctrl pinctrl_lpi_dlkm +alias of:N*T*Cqcom,lpi-pinctrlC* pinctrl_lpi_dlkm +alias platform:qcom-spmi-adc5 qcom_spmi_adc5 +alias of:N*T*Cqcom,spmi-adc5 qcom_spmi_adc5 +alias of:N*T*Cqcom,spmi-adc5C* qcom_spmi_adc5 +alias of:N*T*Cqcom,spmi-adc7 qcom_spmi_adc5 +alias of:N*T*Cqcom,spmi-adc7C* qcom_spmi_adc5 +alias of:N*T*Cqcom,spmi-adc-rev2 qcom_spmi_adc5 +alias of:N*T*Cqcom,spmi-adc-rev2C* qcom_spmi_adc5 +alias of:N*T*Cqcom,spmi-adc5-lite qcom_spmi_adc5 +alias of:N*T*Cqcom,spmi-adc5-liteC* qcom_spmi_adc5 +alias i2c:i2c_pmic qcom_i2c_pmic +alias i2c:i2c-pmic qcom_i2c_pmic +alias of:N*T*Cqcom,usb-emu-phy phy_qcom_emu +alias of:N*T*Cqcom,usb-emu-phyC* phy_qcom_emu +alias amba:d???BB906 coresight_cti +alias amba:d???BB922 coresight_cti +alias amba:d???BB9A8 coresight_cti +alias amba:d???BB9AA coresight_cti +alias amba:d???BB9DA coresight_cti +alias amba:d???BB9ED coresight_cti +alias of:N*T*Cqcom,audio-ref-clk wcd9xxx_dlkm +alias of:N*T*Cqcom,audio-ref-clkC* wcd9xxx_dlkm +alias of:N*T*Cqcom,parrot-gpucc gpucc_parrot +alias of:N*T*Cqcom,parrot-gpuccC* gpucc_parrot +alias of:N*T*Cqcom,ext-mdm9x55 qcom_esoc +alias of:N*T*Cqcom,ext-mdm9x55C* qcom_esoc +alias of:N*T*Cqcom,ext-sdx50m qcom_esoc +alias of:N*T*Cqcom,ext-sdx50mC* qcom_esoc +alias of:N*T*Cqcom,ext-sdx55m qcom_esoc +alias of:N*T*Cqcom,ext-sdx55mC* qcom_esoc +alias of:N*T*Cqcom,ext-lemur qcom_esoc +alias of:N*T*Cqcom,ext-lemurC* qcom_esoc +alias platform:qcom-spmi-mpp pinctrl_spmi_mpp +alias of:N*T*Cqcom,pm8841-mpp pinctrl_spmi_mpp +alias of:N*T*Cqcom,pm8841-mppC* pinctrl_spmi_mpp +alias of:N*T*Cqcom,pm8916-mpp pinctrl_spmi_mpp +alias of:N*T*Cqcom,pm8916-mppC* pinctrl_spmi_mpp +alias of:N*T*Cqcom,pm8941-mpp pinctrl_spmi_mpp +alias of:N*T*Cqcom,pm8941-mppC* pinctrl_spmi_mpp +alias of:N*T*Cqcom,pm8950-mpp pinctrl_spmi_mpp +alias of:N*T*Cqcom,pm8950-mppC* pinctrl_spmi_mpp +alias of:N*T*Cqcom,pmi8950-mpp pinctrl_spmi_mpp +alias of:N*T*Cqcom,pmi8950-mppC* pinctrl_spmi_mpp +alias of:N*T*Cqcom,pm8994-mpp pinctrl_spmi_mpp +alias of:N*T*Cqcom,pm8994-mppC* pinctrl_spmi_mpp +alias of:N*T*Cqcom,pma8084-mpp pinctrl_spmi_mpp +alias of:N*T*Cqcom,pma8084-mppC* pinctrl_spmi_mpp +alias of:N*T*Cqcom,spmi-mpp pinctrl_spmi_mpp +alias of:N*T*Cqcom,spmi-mppC* pinctrl_spmi_mpp +alias of:N*T*Cqcom,cnss cnss2 +alias of:N*T*Cqcom,cnssC* cnss2 +alias of:N*T*Cqcom,cnss-qca6290 cnss2 +alias of:N*T*Cqcom,cnss-qca6290C* cnss2 +alias of:N*T*Cqcom,cnss-qca6390 cnss2 +alias of:N*T*Cqcom,cnss-qca6390C* cnss2 +alias of:N*T*Cqcom,cnss-qca6490 cnss2 +alias of:N*T*Cqcom,cnss-qca6490C* cnss2 +alias of:N*T*Cqcom,cnss-kiwi cnss2 +alias of:N*T*Cqcom,cnss-kiwiC* cnss2 +alias of:N*T*Cqcom,cnss-mango cnss2 +alias of:N*T*Cqcom,cnss-mangoC* cnss2 +alias pci:v0000168Cd0000003Esv*sd*bc*sc*i* cnss2 +alias pci:v000017CBd00001100sv*sd*bc*sc*i* cnss2 +alias pci:v000017CBd00001101sv*sd*bc*sc*i* cnss2 +alias pci:v000017CBd00001103sv*sd*bc*sc*i* cnss2 +alias pci:v000017CBd00001107sv*sd*bc*sc*i* cnss2 +alias pci:v000017CBd0000110Asv*sd*bc*sc*i* cnss2 +alias foursemi:fs16xx fs19xx_dlkm +alias of:N*T*Cfoursemi,fs16xx fs19xx_dlkm +alias of:N*T*Cfoursemi,fs16xxC* fs19xx_dlkm +alias i2c:fs16xx fs19xx_dlkm +alias of:N*T*Cqcom,qcs404-cdsp-pil qcom_q6v5_adsp +alias of:N*T*Cqcom,qcs404-cdsp-pilC* qcom_q6v5_adsp +alias of:N*T*Cqcom,sdm845-adsp-pil qcom_q6v5_adsp +alias of:N*T*Cqcom,sdm845-adsp-pilC* qcom_q6v5_adsp +alias pwm:pwm-lpg pwm_qti_lpg +alias of:N*T*Cqcom,sharedmem-uio msm_sharedmem +alias of:N*T*Cqcom,sharedmem-uioC* msm_sharedmem +alias qcom,pmic-glink pmic_glink +alias of:N*T*Cqcom,pmic-glink pmic_glink +alias of:N*T*Cqcom,pmic-glinkC* pmic_glink diff --git a/recovery/root/vendor_dlkm/lib/modules/modules.blocklist b/recovery/root/vendor_dlkm/lib/modules/modules.blocklist new file mode 100644 index 0000000..dc4d23e --- /dev/null +++ b/recovery/root/vendor_dlkm/lib/modules/modules.blocklist @@ -0,0 +1,71 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (c) 2022, The Linux Foundation. All rights reserved. +blocklist 8250_of +blocklist dummy_hcd +blocklist llcc_perfmon +blocklist tda18250 +blocklist tda9887 +blocklist tuner-simple +blocklist mt2266 +blocklist tea5767 +blocklist xc5000 +blocklist mt2131 +blocklist qt1010 +blocklist tuner-types +blocklist tua9001 +blocklist m88rs6000t +blocklist tda18218 +blocklist mxl5007t +blocklist fc2580 +blocklist r820t +blocklist mc44s803 +blocklist fc0012 +blocklist si2157 +blocklist tda827x +blocklist tuner-xc2028 +blocklist mt2060 +blocklist qm1d1b0004 +blocklist qm1d1c0042 +blocklist tda18212 +blocklist fc0013 +blocklist msi001 +blocklist fc0011 +blocklist tda8290 +blocklist max2165 +blocklist xc4000 +blocklist it913x +blocklist mt20xx +blocklist mxl301rf +blocklist mt2063 +blocklist e4000 +blocklist tea5761 +blocklist tda18271 +blocklist mxl5005s +blocklist dummy-cpufreq +blocklist dummy_hcd +blocklist kheaders +blocklist atomic64_test +blocklist test_user_copy +blocklist lkdtm +blocklist net_failover +blocklist adc-tm +blocklist rtc-test +blocklist can-bcm +blocklist can-gw +blocklist can-raw +blocklist failover +blocklist vmw_vsock_virtio_transport +blocklist vmw_vsock_virtio_transport_common +blocklist vsock_diag +blocklist vsock +blocklist torture +blocklist locktorture +blocklist rcutorture +blocklist mmrm_test_module +blocklist limits_stat +blocklist limits_stress +blocklist wil6210 +blocklist fpc1020_mmi.ko +blocklist ets_bix_mmi.ko +blocklist goodix_fod_mmi.ko +blocklist anc_fps_mmi.ko diff --git a/recovery/root/vendor_dlkm/lib/modules/modules.dep b/recovery/root/vendor_dlkm/lib/modules/modules.dep new file mode 100644 index 0000000..8ec42d1 --- /dev/null +++ b/recovery/root/vendor_dlkm/lib/modules/modules.dep @@ -0,0 +1,287 @@ +/vendor/lib/modules/sdpm_clk.ko: +/vendor/lib/modules/qcom_pm8008-regulator.ko: +/vendor/lib/modules/audio_prm_dlkm.ko: /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/hyp_core_ctl.ko: +/vendor/lib/modules/qti_glink_charger.ko: /vendor/lib/modules/mmi_charger.ko /vendor/lib/modules/mmi_info.ko /vendor/lib/modules/mmi_annotate.ko /vendor/lib/modules/bm_adsp_ulog.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/hdmi_dlkm.ko: /vendor/lib/modules/msm_ext_display.ko +/vendor/lib/modules/cnss_plat_ipc_qmi_svc.ko: /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/soc_sleep_stats.ko: +/vendor/lib/modules/qpnp-power-on.ko: +/vendor/lib/modules/phy-qcom-ufs-qmp-v4-lahaina.ko: +/vendor/lib/modules/smp2p_sleepstate.ko: +/vendor/lib/modules/touchscreen_mmi.ko: /vendor/lib/modules/sensors_class.ko /vendor/lib/modules/mmi_relay.ko /vendor/lib/modules/panel_event_notifier.ko +/vendor/lib/modules/mhi_dev_uci.ko: /vendor/lib/modules/mhi_dev_dtr.ko /vendor/lib/modules/mhi.ko /vendor/lib/modules/pci-msm-drv.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko +/vendor/lib/modules/eud.ko: +/vendor/lib/modules/stm_p_basic.ko: /vendor/lib/modules/stm_core.ko +/vendor/lib/modules/rmnet_sch.ko: +/vendor/lib/modules/qce50.ko: /vendor/lib/modules/sps_drv.ko +/vendor/lib/modules/lzo.ko: +/vendor/lib/modules/mbhc_dlkm.ko: /vendor/lib/modules/fsa4480-i2c.ko /vendor/lib/modules/ucsi_glink.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/lvstest.ko: +/vendor/lib/modules/coresight.ko: +/vendor/lib/modules/rndisipam.ko: /vendor/lib/modules/ipam.ko /vendor/lib/modules/gsim.ko /vendor/lib/modules/ipa_fmwk.ko /vendor/lib/modules/mdt_loader.ko /vendor/lib/modules/mhi.ko /vendor/lib/modules/pci-msm-drv.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/moto_f_mass_storage.ko: +/vendor/lib/modules/swr_dmic_dlkm.ko: /vendor/lib/modules/wcd938x_dlkm.ko /vendor/lib/modules/mbhc_dlkm.ko /vendor/lib/modules/fsa4480-i2c.ko /vendor/lib/modules/ucsi_glink.ko /vendor/lib/modules/wcd9xxx_dlkm.ko /vendor/lib/modules/audio_prm_dlkm.ko /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/swr_dlkm.ko /vendor/lib/modules/wcd_core_dlkm.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/q6_notifier_dlkm.ko: /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/pm8941-pwrkey.ko: +/vendor/lib/modules/bm_adsp_ulog.ko: /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/mmi_info.ko: /vendor/lib/modules/mmi_annotate.ko +/vendor/lib/modules/wsa883x_dlkm.ko: /vendor/lib/modules/adsp_loader_dlkm.ko /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/swr_dlkm.ko /vendor/lib/modules/wcd_core_dlkm.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/lpass_cdc_tx_macro_dlkm.ko: /vendor/lib/modules/lpass_cdc_dlkm.ko /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/mhi_dev_dtr.ko: /vendor/lib/modules/mhi.ko /vendor/lib/modules/pci-msm-drv.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko +/vendor/lib/modules/moto_mmap_fault.ko: +/vendor/lib/modules/qrtr-mhi.ko: /vendor/lib/modules/mhi.ko /vendor/lib/modules/pci-msm-drv.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko +/vendor/lib/modules/msm_11ad_proxy.ko: /vendor/lib/modules/pci-msm-drv.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko +/vendor/lib/modules/qcom_cpuss_sleep_stats.ko: +/vendor/lib/modules/phy-qcom-ufs-qmp-v4-cape.ko: +/vendor/lib/modules/guestvm_loader.ko: /vendor/lib/modules/mdt_loader.ko +/vendor/lib/modules/leds-qpnp-vibrator-ldo.ko: +/vendor/lib/modules/qpnp-pbs.ko: +/vendor/lib/modules/coresight-dummy.ko: /vendor/lib/modules/coresight.ko +/vendor/lib/modules/mmi_relay.ko: +/vendor/lib/modules/usb_f_gsi.ko: /vendor/lib/modules/ipa_fmwk.ko /vendor/lib/modules/dwc3-msm.ko /vendor/lib/modules/ssusb-redriver-ps5169.ko /vendor/lib/modules/ucsi_glink.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/phy-qcom-ufs-qmp-14nm.ko: +/vendor/lib/modules/bam_dma.ko: +/vendor/lib/modules/qfprom-sys.ko: +/vendor/lib/modules/lpass_cdc_wsa2_macro_dlkm.ko: /vendor/lib/modules/swr_ctrl_dlkm.ko /vendor/lib/modules/lpass_cdc_dlkm.ko /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/swr_dlkm.ko /vendor/lib/modules/wcd_core_dlkm.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/usb_bam.ko: /vendor/lib/modules/sps_drv.ko +/vendor/lib/modules/hung_task_enh.ko: +/vendor/lib/modules/phy-qcom-ufs-qmp-v4-waipio.ko: +/vendor/lib/modules/debugcc-ravelin.ko: +/vendor/lib/modules/qcom_iommu_debug.ko: +/vendor/lib/modules/qcom_ramdump.ko: +/vendor/lib/modules/msm-mmrm.ko: +/vendor/lib/modules/audio_pkt_dlkm.ko: /vendor/lib/modules/audpkt_ion_dlkm.ko /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/con_dfpar.ko: +/vendor/lib/modules/msm_sysstats.ko: /vendor/lib/modules/msm_kgsl.ko /vendor/lib/modules/msm_performance.ko /vendor/lib/modules/mdt_loader.ko +/vendor/lib/modules/stm_p_ost.ko: /vendor/lib/modules/stm_core.ko +/vendor/lib/modules/msm_ext_display.ko: +/vendor/lib/modules/msm_video.ko: /vendor/lib/modules/msm-mmrm.ko /vendor/lib/modules/mdt_loader.ko +/vendor/lib/modules/qcom_q6v5_pas.ko: /vendor/lib/modules/qcom_ramdump.ko /vendor/lib/modules/qcom_pil_info.ko /vendor/lib/modules/qcom_q6v5.ko /vendor/lib/modules/qcom_sysmon.ko /vendor/lib/modules/mdt_loader.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/cnss_prealloc.ko: +/vendor/lib/modules/lpass_cdc_va_macro_dlkm.ko: /vendor/lib/modules/swr_ctrl_dlkm.ko /vendor/lib/modules/lpass_cdc_dlkm.ko /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/swr_dlkm.ko /vendor/lib/modules/wcd_core_dlkm.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/camcc-ravelin.ko: +/vendor/lib/modules/qseecom-mod.ko: +/vendor/lib/modules/spi-msm-geni.ko: +/vendor/lib/modules/swr_ctrl_dlkm.ko: /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/swr_dlkm.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/msm_rng.ko: +/vendor/lib/modules/leds-aw2016.ko: +/vendor/lib/modules/microdump_collector.ko: /vendor/lib/modules/qcom_ramdump.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko +/vendor/lib/modules/coresight-csr.ko: /vendor/lib/modules/coresight.ko +/vendor/lib/modules/goodix_fod_mmi.ko: +/vendor/lib/modules/leds-qpnp-flash-v2.ko: /vendor/lib/modules/qti_battery_charger_main.ko /vendor/lib/modules/panel_event_notifier.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/utags.ko: +/vendor/lib/modules/qti_qmi_cdev.ko: /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/altmode-glink.ko: /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/coresight-tmc.ko: /vendor/lib/modules/usb_f_qdss.ko /vendor/lib/modules/usb_bam.ko /vendor/lib/modules/sps_drv.ko /vendor/lib/modules/coresight-csr.ko /vendor/lib/modules/dwc3-msm.ko /vendor/lib/modules/ssusb-redriver-ps5169.ko /vendor/lib/modules/coresight.ko /vendor/lib/modules/ucsi_glink.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/rq_stats.ko: +/vendor/lib/modules/spmi-glink-debug.ko: /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/phy-msm-ssusb-qmp.ko: +/vendor/lib/modules/qti_battery_charger_main.ko: /vendor/lib/modules/panel_event_notifier.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/slg5bm43670.ko: +/vendor/lib/modules/msm_kgsl.ko: /vendor/lib/modules/msm_performance.ko /vendor/lib/modules/mdt_loader.ko +/vendor/lib/modules/reboot-mode.ko: +/vendor/lib/modules/videocc-parrot.ko: +/vendor/lib/modules/mhi_dev_netdev.ko: /vendor/lib/modules/mhi.ko /vendor/lib/modules/pci-msm-drv.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko +/vendor/lib/modules/qcom_lpm.ko: +/vendor/lib/modules/moto_mm.ko: +/vendor/lib/modules/gpr_dlkm.ko: /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/msm_performance.ko: +/vendor/lib/modules/qcom_glink_smem.ko: /vendor/lib/modules/qcom_glink.ko +/vendor/lib/modules/cdsprm.ko: +/vendor/lib/modules/phy-qcom-ufs-qmp-v4-anarok.ko: +/vendor/lib/modules/wcd937x_slave_dlkm.ko: /vendor/lib/modules/swr_dlkm.ko +/vendor/lib/modules/qcom_glink.ko: +/vendor/lib/modules/mhi.ko: /vendor/lib/modules/pci-msm-drv.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko +/vendor/lib/modules/qcom_smd.ko: +/vendor/lib/modules/icc-test.ko: +/vendor/lib/modules/qmi_helpers.ko: +/vendor/lib/modules/ehset.ko: +/vendor/lib/modules/qcedev-mod.ko: /vendor/lib/modules/qce50.ko /vendor/lib/modules/sps_drv.ko +/vendor/lib/modules/frpc-adsprpc.ko: /vendor/lib/modules/qcom_ramdump.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/qcom-pon.ko: /vendor/lib/modules/reboot-mode.ko +/vendor/lib/modules/mdt_loader.ko: +/vendor/lib/modules/qti_devfreq_cdev.ko: +/vendor/lib/modules/gh_irq_lend.ko: +/vendor/lib/modules/sensors_class.ko: +/vendor/lib/modules/q6_pdr_dlkm.ko: /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/nfc_i2c.ko: +/vendor/lib/modules/coresight-replicator.ko: /vendor/lib/modules/coresight.ko +/vendor/lib/modules/camera.ko: /vendor/lib/modules/leds-qpnp-flash-v2.ko /vendor/lib/modules/qti_battery_charger_main.ko /vendor/lib/modules/panel_event_notifier.ko /vendor/lib/modules/synx-driver.ko /vendor/lib/modules/qcom_ipc_lite.ko /vendor/lib/modules/mdt_loader.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/clk-spmi-pmic-div.ko: +/vendor/lib/modules/core_hang_detect.ko: +/vendor/lib/modules/qti-adc-tm.ko: +/vendor/lib/modules/usb_f_ccid.ko: +/vendor/lib/modules/rproc_qcom_common.ko: /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko +/vendor/lib/modules/schgm-flash.ko: +/vendor/lib/modules/stub_dlkm.ko: +/vendor/lib/modules/mmi_annotate.ko: +/vendor/lib/modules/rmnet_ctl.ko: /vendor/lib/modules/ipa_fmwk.ko +/vendor/lib/modules/ssusb-redriver-ps5169.ko: /vendor/lib/modules/ucsi_glink.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/phy-qcom-ufs-qmp-v3.ko: +/vendor/lib/modules/rdbg.ko: +/vendor/lib/modules/icnss2.ko: /vendor/lib/modules/wlan_firmware_service.ko /vendor/lib/modules/qti-adc-tm.ko /vendor/lib/modules/qcom_ramdump.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/heap_mem_ext_v01.ko: /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/focaltech_v3.ko: /vendor/lib/modules/touchscreen_mmi.ko /vendor/lib/modules/sensors_class.ko /vendor/lib/modules/mmi_relay.ko /vendor/lib/modules/panel_event_notifier.ko /vendor/lib/modules/mmi_info.ko /vendor/lib/modules/mmi_annotate.ko +/vendor/lib/modules/qcom_sysmon.ko: /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/ucsi_glink.ko: /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/stm_core.ko: +/vendor/lib/modules/bwmon.ko: +/vendor/lib/modules/tz_log.ko: +/vendor/lib/modules/st21nfc.ko: /vendor/lib/modules/mmi_info.ko /vendor/lib/modules/mmi_annotate.ko +/vendor/lib/modules/gsim.ko: +/vendor/lib/modules/gh_mem_notifier.ko: +/vendor/lib/modules/boot_stats.ko: +/vendor/lib/modules/coresight-tpdm.ko: /vendor/lib/modules/coresight.ko +/vendor/lib/modules/plh_scmi.ko: /vendor/lib/modules/msm_performance.ko +/vendor/lib/modules/wcd937x_dlkm.ko: /vendor/lib/modules/mbhc_dlkm.ko /vendor/lib/modules/fsa4480-i2c.ko /vendor/lib/modules/ucsi_glink.ko /vendor/lib/modules/wcd9xxx_dlkm.ko /vendor/lib/modules/audio_prm_dlkm.ko /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/swr_dlkm.ko /vendor/lib/modules/wcd_core_dlkm.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/wl2864c.ko: +/vendor/lib/modules/rmnet_perf.ko: /vendor/lib/modules/rmnet_shs.ko /vendor/lib/modules/rmnet_core.ko /vendor/lib/modules/rmnet_ctl.ko /vendor/lib/modules/ipa_fmwk.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/qpnp-lcdb-regulator.ko: +/vendor/lib/modules/sx937x_sar.ko: /vendor/lib/modules/sensors_class.ko +/vendor/lib/modules/coresight-tpda.ko: /vendor/lib/modules/coresight.ko +/vendor/lib/modules/fsa4480-i2c.ko: /vendor/lib/modules/ucsi_glink.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/mmi_sys_temp.ko: +/vendor/lib/modules/ipa_fmwk.ko: +/vendor/lib/modules/i2c-msm-geni.ko: /vendor/lib/modules/gpi.ko +/vendor/lib/modules/sys_pm_vx.ko: /vendor/lib/modules/subsystem_sleep_stats.ko /vendor/lib/modules/soc_sleep_stats.ko +/vendor/lib/modules/lzo-rle.ko: +/vendor/lib/modules/sg.ko: +/vendor/lib/modules/q6_dlkm.ko: +/vendor/lib/modules/moto_f_usbnet.ko: +/vendor/lib/modules/usb_f_cdev.ko: +/vendor/lib/modules/plh_vendor.ko: +/vendor/lib/modules/goodix_brl_mmi.ko: /vendor/lib/modules/touchscreen_mmi.ko /vendor/lib/modules/sensors_class.ko /vendor/lib/modules/mmi_relay.ko /vendor/lib/modules/panel_event_notifier.ko /vendor/lib/modules/mmi_info.ko /vendor/lib/modules/mmi_annotate.ko +/vendor/lib/modules/panel_event_notifier.ko: +/vendor/lib/modules/sgm4154x_charger_lite.ko: /vendor/lib/modules/mmi_charger.ko /vendor/lib/modules/mmi_info.ko /vendor/lib/modules/mmi_annotate.ko +/vendor/lib/modules/policy_engine.ko: +/vendor/lib/modules/wcd938x_slave_dlkm.ko: /vendor/lib/modules/swr_dlkm.ko +/vendor/lib/modules/watchdogtest.ko: +/vendor/lib/modules/charger-ulog-glink.ko: /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/qcom-spmi-temp-alarm.ko: +/vendor/lib/modules/usb_f_diag.ko: +/vendor/lib/modules/btpower.ko: +/vendor/lib/modules/qcom-hv-haptics.ko: /vendor/lib/modules/qpnp-pbs.ko /vendor/lib/modules/qti_battery_charger_main.ko /vendor/lib/modules/panel_event_notifier.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/qcom_soc_wdt.ko: +/vendor/lib/modules/cpufreq_stats_vendor.ko: +/vendor/lib/modules/stm_ftrace.ko: /vendor/lib/modules/stm_core.ko +/vendor/lib/modules/cpufreq_stats_scmi.ko: +/vendor/lib/modules/spmi-pmic-arb-debug.ko: +/vendor/lib/modules/qcom_ipc_lite.ko: +/vendor/lib/modules/rmnet_wlan.ko: +/vendor/lib/modules/gpucc-ravelin.ko: +/vendor/lib/modules/rimps_log.ko: +/vendor/lib/modules/wil6210.ko: /vendor/lib/modules/msm_11ad_proxy.ko /vendor/lib/modules/cfg80211.ko /vendor/lib/modules/pci-msm-drv.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko +/vendor/lib/modules/zsmalloc.ko: +/vendor/lib/modules/aw882xx_dlkm.ko: +/vendor/lib/modules/lpass_cdc_dlkm.ko: /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/rmnet_perf_tether.ko: /vendor/lib/modules/rmnet_core.ko /vendor/lib/modules/rmnet_ctl.ko /vendor/lib/modules/ipa_fmwk.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/ddr_cdev.ko: +/vendor/lib/modules/pmic-pon-log.ko: +/vendor/lib/modules/qcom-vadc-common.ko: +/vendor/lib/modules/audpkt_ion_dlkm.ko: +/vendor/lib/modules/snd_event_dlkm.ko: +/vendor/lib/modules/lpass_cdc_rx_macro_dlkm.ko: /vendor/lib/modules/swr_ctrl_dlkm.ko /vendor/lib/modules/lpass_cdc_dlkm.ko /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/swr_dlkm.ko /vendor/lib/modules/wcd_core_dlkm.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/qcom_logbuf_vendor_hooks.ko: +/vendor/lib/modules/gh_virtio_backend.ko: +/vendor/lib/modules/smp2p.ko: +/vendor/lib/modules/qpnp_adaptive_charge.ko: /vendor/lib/modules/mmi_charger.ko /vendor/lib/modules/mmi_info.ko /vendor/lib/modules/mmi_annotate.ko +/vendor/lib/modules/camcc-parrot.ko: +/vendor/lib/modules/qti_battery_debug.ko: /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/cfg80211.ko: +/vendor/lib/modules/snd-usb-audio-qmi.ko: /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/dcc_v2.ko: +/vendor/lib/modules/qcom_sync_file.ko: +/vendor/lib/modules/slim-qcom-ngd-ctrl.ko: /vendor/lib/modules/slimbus.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/qti_cpufreq_cdev.ko: +/vendor/lib/modules/shared_rail_vendor.ko: +/vendor/lib/modules/qca_cld3_qca6750.ko: /vendor/lib/modules/icnss2.ko /vendor/lib/modules/wlan_firmware_service.ko /vendor/lib/modules/qti-adc-tm.ko /vendor/lib/modules/cnss_prealloc.ko /vendor/lib/modules/cnss_nl.ko /vendor/lib/modules/cnss_utils.ko /vendor/lib/modules/cfg80211.ko /vendor/lib/modules/qcom_ramdump.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/bcl_soc.ko: +/vendor/lib/modules/gpi.ko: +/vendor/lib/modules/spf_core_dlkm.ko: /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/pinctrl-spmi-gpio.ko: +/vendor/lib/modules/bq27426_fg_mmi.ko: +/vendor/lib/modules/phy-qcom-ufs-qmp-v4-diwali.ko: +/vendor/lib/modules/smcinvoke_mod.ko: /vendor/lib/modules/qseecom-mod.ko +/vendor/lib/modules/coresight-stm.ko: /vendor/lib/modules/coresight.ko /vendor/lib/modules/stm_core.ko +/vendor/lib/modules/qrtr-gunyah.ko: +/vendor/lib/modules/coresight-hwevent.ko: /vendor/lib/modules/coresight-csr.ko /vendor/lib/modules/coresight.ko +/vendor/lib/modules/qcom-cpufreq-hw-debug.ko: +/vendor/lib/modules/dwc3-msm.ko: /vendor/lib/modules/ssusb-redriver-ps5169.ko /vendor/lib/modules/ucsi_glink.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/qti_userspace_cdev.ko: +/vendor/lib/modules/cdsp-loader.ko: +/vendor/lib/modules/subsystem_sleep_stats.ko: /vendor/lib/modules/soc_sleep_stats.ko +/vendor/lib/modules/qcom_pil_info.ko: +/vendor/lib/modules/shared_rail_scmi.ko: /vendor/lib/modules/msm_performance.ko +/vendor/lib/modules/machine_dlkm.ko: /vendor/lib/modules/wsa883x_dlkm.ko /vendor/lib/modules/adsp_loader_dlkm.ko /vendor/lib/modules/lpass_cdc_rx_macro_dlkm.ko /vendor/lib/modules/wcd937x_dlkm.ko /vendor/lib/modules/audpkt_ion_dlkm.ko /vendor/lib/modules/swr_ctrl_dlkm.ko /vendor/lib/modules/lpass_cdc_dlkm.ko /vendor/lib/modules/wcd938x_dlkm.ko /vendor/lib/modules/mbhc_dlkm.ko /vendor/lib/modules/fsa4480-i2c.ko /vendor/lib/modules/ucsi_glink.ko /vendor/lib/modules/wcd9xxx_dlkm.ko /vendor/lib/modules/audio_prm_dlkm.ko /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/swr_dlkm.ko /vendor/lib/modules/wcd_core_dlkm.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/msm_drm.ko: /vendor/lib/modules/hdcp.ko /vendor/lib/modules/smcinvoke_mod.ko /vendor/lib/modules/qseecom-mod.ko /vendor/lib/modules/altmode-glink.ko /vendor/lib/modules/gh_mem_notifier.ko /vendor/lib/modules/gh_irq_lend.ko /vendor/lib/modules/panel_event_notifier.ko /vendor/lib/modules/msm-mmrm.ko /vendor/lib/modules/dwc3-msm.ko /vendor/lib/modules/ssusb-redriver-ps5169.ko /vendor/lib/modules/fsa4480-i2c.ko /vendor/lib/modules/ucsi_glink.ko /vendor/lib/modules/msm_ext_display.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/swr_dlkm.ko: +/vendor/lib/modules/moto_swap.ko: /vendor/lib/modules/zsmalloc.ko +/vendor/lib/modules/hvc_gunyah.ko: +/vendor/lib/modules/slimbus.ko: +/vendor/lib/modules/debugcc-parrot.ko: +/vendor/lib/modules/pmu_vendor.ko: +/vendor/lib/modules/regulator_aop_cdev.ko: +/vendor/lib/modules/usb_f_qdss.ko: /vendor/lib/modules/usb_bam.ko /vendor/lib/modules/sps_drv.ko /vendor/lib/modules/dwc3-msm.ko /vendor/lib/modules/ssusb-redriver-ps5169.ko /vendor/lib/modules/ucsi_glink.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/coresight-tgu.ko: /vendor/lib/modules/coresight.ko +/vendor/lib/modules/phy-msm-snps-hs.ko: +/vendor/lib/modules/ipam.ko: /vendor/lib/modules/gsim.ko /vendor/lib/modules/ipa_fmwk.ko /vendor/lib/modules/mdt_loader.ko /vendor/lib/modules/mhi.ko /vendor/lib/modules/pci-msm-drv.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/glink_probe.ko: /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko +/vendor/lib/modules/cnss_nl.ko: +/vendor/lib/modules/qrtr-smd.ko: /vendor/lib/modules/qcom_glink.ko +/vendor/lib/modules/qcom_rimps.ko: +/vendor/lib/modules/swr_haptics_dlkm.ko: /vendor/lib/modules/swr_dlkm.ko +/vendor/lib/modules/bt_fm_slim.ko: /vendor/lib/modules/btpower.ko /vendor/lib/modules/slimbus.ko +/vendor/lib/modules/adsp_loader_dlkm.ko: /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/coresight-funnel.ko: /vendor/lib/modules/coresight.ko +/vendor/lib/modules/rmnet_aps.ko: /vendor/lib/modules/rmnet_core.ko /vendor/lib/modules/rmnet_ctl.ko /vendor/lib/modules/ipa_fmwk.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/qdss_bridge.ko: /vendor/lib/modules/usb_f_qdss.ko /vendor/lib/modules/usb_bam.ko /vendor/lib/modules/sps_drv.ko /vendor/lib/modules/dwc3-msm.ko /vendor/lib/modules/ssusb-redriver-ps5169.ko /vendor/lib/modules/ucsi_glink.ko /vendor/lib/modules/mhi.ko /vendor/lib/modules/pci-msm-drv.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/leds-qti-tri-led.ko: /vendor/lib/modules/pwm-qti-lpg.ko /vendor/lib/modules/qpnp-pbs.ko +/vendor/lib/modules/sysmon_subsystem_stats.ko: +/vendor/lib/modules/rmnet_offload.ko: /vendor/lib/modules/rmnet_core.ko /vendor/lib/modules/rmnet_ctl.ko /vendor/lib/modules/ipa_fmwk.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/lpass_cdc_wsa_macro_dlkm.ko: /vendor/lib/modules/swr_ctrl_dlkm.ko /vendor/lib/modules/lpass_cdc_dlkm.ko /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/swr_dlkm.ko /vendor/lib/modules/wcd_core_dlkm.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/sps_drv.ko: +/vendor/lib/modules/coresight-remote-etm.ko: /vendor/lib/modules/coresight.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/msm_memshare.ko: /vendor/lib/modules/heap_mem_ext_v01.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/pinctrl_lpi_dlkm.ko: /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/msm_show_epoch.ko: +/vendor/lib/modules/qcom-spmi-adc5.ko: /vendor/lib/modules/qcom-vadc-common.ko +/vendor/lib/modules/qcom-i2c-pmic.ko: +/vendor/lib/modules/msm_show_resume_irq.ko: +/vendor/lib/modules/qti_qmi_sensor_v2.ko: /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/phy-qcom-emu.ko: +/vendor/lib/modules/pmu_scmi.ko: +/vendor/lib/modules/rmnet_core.ko: /vendor/lib/modules/rmnet_ctl.ko /vendor/lib/modules/ipa_fmwk.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/ipa_clientsm.ko: /vendor/lib/modules/rndisipam.ko /vendor/lib/modules/ipam.ko /vendor/lib/modules/gsim.ko /vendor/lib/modules/ipa_fmwk.ko /vendor/lib/modules/mdt_loader.ko /vendor/lib/modules/mhi.ko /vendor/lib/modules/pci-msm-drv.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/wcd938x_dlkm.ko: /vendor/lib/modules/mbhc_dlkm.ko /vendor/lib/modules/fsa4480-i2c.ko /vendor/lib/modules/ucsi_glink.ko /vendor/lib/modules/wcd9xxx_dlkm.ko /vendor/lib/modules/audio_prm_dlkm.ko /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/swr_dlkm.ko /vendor/lib/modules/wcd_core_dlkm.ko /vendor/lib/modules/pmic_glink.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/coresight-cti.ko: /vendor/lib/modules/coresight.ko +/vendor/lib/modules/wcd9xxx_dlkm.ko: /vendor/lib/modules/audio_prm_dlkm.ko /vendor/lib/modules/spf_core_dlkm.ko /vendor/lib/modules/gpr_dlkm.ko /vendor/lib/modules/snd_event_dlkm.ko /vendor/lib/modules/q6_notifier_dlkm.ko /vendor/lib/modules/q6_pdr_dlkm.ko /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/f_fs_ipc_log.ko: +/vendor/lib/modules/gpucc-parrot.ko: +/vendor/lib/modules/wlan_firmware_service.ko: /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/mmrm_test_module.ko: /vendor/lib/modules/msm-mmrm.ko +/vendor/lib/modules/qcom_esoc.ko: /vendor/lib/modules/qpnp-power-on.ko /vendor/lib/modules/qcom_sysmon.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/pinctrl-spmi-mpp.ko: +/vendor/lib/modules/rmnet_shs.ko: /vendor/lib/modules/rmnet_core.ko /vendor/lib/modules/rmnet_ctl.ko /vendor/lib/modules/ipa_fmwk.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/wcd_core_dlkm.ko: +/vendor/lib/modules/cnss2.ko: /vendor/lib/modules/cnss_plat_ipc_qmi_svc.ko /vendor/lib/modules/wlan_firmware_service.ko /vendor/lib/modules/qcom_ramdump.ko /vendor/lib/modules/mhi.ko /vendor/lib/modules/pci-msm-drv.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/synx-driver.ko: /vendor/lib/modules/qcom_ipc_lite.ko +/vendor/lib/modules/glink_pkt.ko: +/vendor/lib/modules/moto_sched.ko: +/vendor/lib/modules/fs19xx_dlkm.ko: +/vendor/lib/modules/zram.ko: /vendor/lib/modules/zsmalloc.ko +/vendor/lib/modules/memlat.ko: +/vendor/lib/modules/qcom_q6v5_adsp.ko: /vendor/lib/modules/qcom_pil_info.ko /vendor/lib/modules/qcom_q6v5.ko /vendor/lib/modules/qcom_sysmon.ko /vendor/lib/modules/mdt_loader.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/wsa881x_dlkm.ko: /vendor/lib/modules/swr_dlkm.ko /vendor/lib/modules/wcd_core_dlkm.ko +/vendor/lib/modules/cnss_utils.ko: +/vendor/lib/modules/qcom_q6v5.ko: /vendor/lib/modules/qcom_sysmon.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/i2c-dev.ko: +/vendor/lib/modules/pwm-qti-lpg.ko: /vendor/lib/modules/qpnp-pbs.ko +/vendor/lib/modules/mmi_charger.ko: /vendor/lib/modules/mmi_info.ko /vendor/lib/modules/mmi_annotate.ko +/vendor/lib/modules/pci-msm-drv.ko: /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko +/vendor/lib/modules/msm_sharedmem.ko: +/vendor/lib/modules/stm_console.ko: /vendor/lib/modules/stm_core.ko +/vendor/lib/modules/hdcp.ko: /vendor/lib/modules/smcinvoke_mod.ko /vendor/lib/modules/qseecom-mod.ko +/vendor/lib/modules/ipanetm.ko: /vendor/lib/modules/ipam.ko /vendor/lib/modules/gsim.ko /vendor/lib/modules/ipa_fmwk.ko /vendor/lib/modules/mdt_loader.ko /vendor/lib/modules/mhi.ko /vendor/lib/modules/pci-msm-drv.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/pmic_glink.ko: /vendor/lib/modules/pdr_interface.ko /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko +/vendor/lib/modules/pdr_interface.ko: /vendor/lib/modules/rproc_qcom_common.ko /vendor/lib/modules/qcom_smd.ko /vendor/lib/modules/qcom_glink_smem.ko /vendor/lib/modules/qcom_glink.ko /vendor/lib/modules/qmi_helpers.ko diff --git a/recovery/root/vendor_dlkm/lib/modules/modules.load b/recovery/root/vendor_dlkm/lib/modules/modules.load new file mode 100644 index 0000000..7112fef --- /dev/null +++ b/recovery/root/vendor_dlkm/lib/modules/modules.load @@ -0,0 +1,288 @@ +msm_sysstats.ko +zsmalloc.ko +lzo.ko +lzo-rle.ko +msm_show_resume_irq.ko +mhi_dev_uci.ko +mhi_dev_netdev.ko +mhi_dev_dtr.ko +mhi.ko +phy-qcom-ufs-qmp-v4-lahaina.ko +phy-qcom-ufs-qmp-v4-waipio.ko +phy-qcom-ufs-qmp-v4-diwali.ko +phy-qcom-ufs-qmp-v4-cape.ko +phy-qcom-ufs-qmp-v4-anarok.ko +phy-qcom-ufs-qmp-v3.ko +phy-qcom-ufs-qmp-14nm.ko +pinctrl-spmi-gpio.ko +pinctrl-spmi-mpp.ko +pwm-qti-lpg.ko +pci-msm-drv.ko +camcc-parrot.ko +camcc-ravelin.ko +debugcc-parrot.ko +debugcc-ravelin.ko +gpucc-parrot.ko +gpucc-ravelin.ko +videocc-parrot.ko +clk-spmi-pmic-div.ko +bam_dma.ko +gpi.ko +qcom_cpuss_sleep_stats.ko +mdt_loader.ko +cdsp-loader.ko +qcom_ramdump.ko +pdr_interface.ko +qmi_helpers.ko +heap_mem_ext_v01.ko +msm_memshare.ko +boot_stats.ko +smp2p.ko +subsystem_sleep_stats.ko +sysmon_subsystem_stats.ko +core_hang_detect.ko +soc_sleep_stats.ko +qcom_rimps.ko +rq_stats.ko +dcc_v2.ko +smcinvoke_mod.ko +microdump_collector.ko +smp2p_sleepstate.ko +glink_pkt.ko +glink_probe.ko +pmic_glink.ko +qti_battery_debug.ko +charger-ulog-glink.ko +altmode-glink.ko +pmic-pon-log.ko +msm_performance.ko +qpnp-pbs.ko +cdsprm.ko +fsa4480-i2c.ko +msm_show_epoch.ko +eud.ko +guestvm_loader.ko +hyp_core_ctl.ko +qcom_soc_wdt.ko +sys_pm_vx.ko +msm_ext_display.ko +icnss2.ko +rimps_log.ko +plh_scmi.ko +shared_rail_scmi.ko +qdss_bridge.ko +memlat.ko +bwmon.ko +pmu_scmi.ko +cpufreq_stats_scmi.ko +qcom_logbuf_vendor_hooks.ko +panel_event_notifier.ko +qcom_sync_file.ko +hung_task_enh.ko +qfprom-sys.ko +qcom_pm8008-regulator.ko +qpnp-lcdb-regulator.ko +hvc_gunyah.ko +msm_rng.ko +frpc-adsprpc.ko +rdbg.ko +qcom_iommu_debug.ko +msm_kgsl.ko +zram.ko +hdcp.ko +qseecom-mod.ko +qcom-i2c-pmic.ko +nfc_i2c.ko +sg.ko +spi-msm-geni.ko +spmi-pmic-arb-debug.ko +spmi-glink-debug.ko +wil6210.ko +cnss2.ko +cnss_utils.ko +wlan_firmware_service.ko +cnss_plat_ipc_qmi_svc.ko +cnss_nl.ko +cnss_prealloc.ko +msm_sharedmem.ko +phy-qcom-emu.ko +phy-msm-ssusb-qmp.ko +phy-msm-snps-hs.ko +dwc3-msm.ko +ehset.ko +lvstest.ko +ssusb-redriver-ps5169.ko +usb_f_diag.ko +usb_f_qdss.ko +usb_f_ccid.ko +usb_f_cdev.ko +usb_f_gsi.ko +f_fs_ipc_log.ko +ucsi_glink.ko +pm8941-pwrkey.ko +qpnp-power-on.ko +qcom-hv-haptics.ko +i2c-msm-geni.ko +i2c-dev.ko +qcom_ipc_lite.ko +synx-driver.ko +qcom-pon.ko +reboot-mode.ko +qti_battery_charger_main.ko +schgm-flash.ko +qcom-spmi-temp-alarm.ko +qti-adc-tm.ko +qti_qmi_sensor_v2.ko +qti_qmi_cdev.ko +bcl_soc.ko +policy_engine.ko +sdpm_clk.ko +ddr_cdev.ko +qti_userspace_cdev.ko +qti_cpufreq_cdev.ko +qti_devfreq_cdev.ko +regulator_aop_cdev.ko +btpower.ko +bt_fm_slim.ko +qcom-cpufreq-hw-debug.ko +qcom_lpm.ko +leds-aw2016.ko +leds-qti-tri-led.ko +leds-qpnp-flash-v2.ko +leds-qpnp-vibrator-ldo.ko +pmu_vendor.ko +plh_vendor.ko +cpufreq_stats_vendor.ko +shared_rail_vendor.ko +tz_log.ko +qce50.ko +qcedev-mod.ko +ipa_fmwk.ko +usb_bam.ko +sps_drv.ko +msm_11ad_proxy.ko +qcom_pil_info.ko +rproc_qcom_common.ko +qcom_q6v5.ko +qcom_q6v5_adsp.ko +qcom_q6v5_pas.ko +qcom_esoc.ko +qcom_sysmon.ko +qcom_glink.ko +qcom_glink_smem.ko +qcom_smd.ko +gh_irq_lend.ko +gh_mem_notifier.ko +gh_virtio_backend.ko +qcom-spmi-adc5.ko +qcom-vadc-common.ko +icc-test.ko +slimbus.ko +slim-qcom-ngd-ctrl.ko +coresight.ko +coresight-tmc.ko +coresight-funnel.ko +coresight-replicator.ko +coresight-stm.ko +coresight-cti.ko +coresight-tpda.ko +coresight-tpdm.ko +coresight-csr.ko +coresight-dummy.ko +coresight-remote-etm.ko +coresight-tgu.ko +coresight-hwevent.ko +stm_core.ko +stm_p_basic.ko +stm_p_ost.ko +stm_console.ko +stm_ftrace.ko +snd-usb-audio-qmi.ko +cfg80211.ko +qrtr-smd.ko +qrtr-mhi.ko +qrtr-gunyah.ko +qca_cld3_qca6750.ko +qca_cld3_qca6750.ko +q6_notifier_dlkm.ko +spf_core_dlkm.ko +audpkt_ion_dlkm.ko +gpr_dlkm.ko +audio_pkt_dlkm.ko +q6_dlkm.ko +adsp_loader_dlkm.ko +audio_prm_dlkm.ko +q6_pdr_dlkm.ko +pinctrl_lpi_dlkm.ko +swr_dlkm.ko +swr_ctrl_dlkm.ko +snd_event_dlkm.ko +wcd_core_dlkm.ko +mbhc_dlkm.ko +swr_dmic_dlkm.ko +wcd9xxx_dlkm.ko +swr_haptics_dlkm.ko +stub_dlkm.ko +wsa881x_dlkm.ko +machine_dlkm.ko +lpass_cdc_wsa2_macro_dlkm.ko +lpass_cdc_wsa_macro_dlkm.ko +lpass_cdc_va_macro_dlkm.ko +lpass_cdc_rx_macro_dlkm.ko +lpass_cdc_tx_macro_dlkm.ko +lpass_cdc_dlkm.ko +wsa883x_dlkm.ko +aw882xx_dlkm.ko +fs19xx_dlkm.ko +wcd938x_dlkm.ko +wcd938x_slave_dlkm.ko +wcd937x_dlkm.ko +wcd937x_slave_dlkm.ko +hdmi_dlkm.ko +camera.ko +gsim.ko +ipam.ko +ipanetm.ko +rndisipam.ko +ipa_clientsm.ko +rmnet_core.ko +rmnet_ctl.ko +rmnet_offload.ko +rmnet_perf_tether.ko +rmnet_perf.ko +rmnet_shs.ko +rmnet_wlan.ko +rmnet_aps.ko +rmnet_sch.ko +msm_drm.ko +msm-mmrm.ko +mmrm_test_module.ko +msm_video.ko +utags.ko +mmi_annotate.ko +mmi_info.ko +moto_f_usbnet.ko +bm_adsp_ulog.ko +watchdogtest.ko +mmi_charger.ko +moto_f_mass_storage.ko +st21nfc.ko +mmi_relay.ko +sensors_class.ko +touchscreen_mmi.ko +sx937x_sar.ko +goodix_brl_mmi.ko +focaltech_v3.ko +slg5bm43670.ko +qti_glink_charger.ko +qpnp_adaptive_charge.ko +bq27426_fg_mmi.ko +sgm4154x_charger_lite.ko +mmi_sys_temp.ko +wl2864c.ko +moto_mmap_fault.ko +goodix_fod_mmi.ko +con_dfpar.ko +moto_mm.ko +moto_swap.ko +moto_sched.ko diff --git a/recovery/root/vendor_dlkm/lib/modules/modules.softdep b/recovery/root/vendor_dlkm/lib/modules/modules.softdep new file mode 100644 index 0000000..e0191d4 --- /dev/null +++ b/recovery/root/vendor_dlkm/lib/modules/modules.softdep @@ -0,0 +1,16 @@ +# Soft dependencies extracted from modules themselves. +softdep soc_sleep_stats pre: smem +softdep q6_notifier_dlkm pre: qcom_q6v5_pas +softdep msm_video pre: subsys-pil-tz msm-mmrm +softdep msm_kgsl pre: arm_smmu nvmem_qfprom +softdep qmi_helpers pre: qrtr +softdep plh_scmi pre: plh_vendor +softdep cpufreq_stats_scmi pre: cpufreq_stats_vendor +softdep dwc3_msm pre: phy-generic phy-msm-snps-hs phy-msm-snps-eusb2 phy-msm-ssusb-qmp eud post: ucsi_glink +softdep shared_rail_scmi pre: shared_rail_vendor +softdep machine_dlkm pre: bt_fm_slim +softdep msm_drm pre: msm-mmrm +softdep ipam pre: subsys-pil-tz +softdep ipam pre: qcom-arm-smmu-mod +softdep leds_qti_tri_led pre: pwm-qti-lpg +softdep pmu_scmi pre: pmu_vendor diff --git a/recovery/root/vendor_dlkm/lib/modules/moto_f_mass_storage.ko b/recovery/root/vendor_dlkm/lib/modules/moto_f_mass_storage.ko new file mode 100644 index 0000000..aede0f3 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/moto_f_mass_storage.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/moto_f_usbnet.ko b/recovery/root/vendor_dlkm/lib/modules/moto_f_usbnet.ko new file mode 100644 index 0000000..8a54b2c Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/moto_f_usbnet.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/moto_mm.ko b/recovery/root/vendor_dlkm/lib/modules/moto_mm.ko new file mode 100644 index 0000000..b90adc8 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/moto_mm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/moto_mmap_fault.ko b/recovery/root/vendor_dlkm/lib/modules/moto_mmap_fault.ko new file mode 100644 index 0000000..95fe549 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/moto_mmap_fault.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/moto_sched.ko b/recovery/root/vendor_dlkm/lib/modules/moto_sched.ko new file mode 100644 index 0000000..543dd72 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/moto_sched.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/moto_swap.ko b/recovery/root/vendor_dlkm/lib/modules/moto_swap.ko new file mode 100644 index 0000000..cbdca91 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/moto_swap.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/msm-mmrm.ko b/recovery/root/vendor_dlkm/lib/modules/msm-mmrm.ko new file mode 100644 index 0000000..cf2d6df Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/msm-mmrm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/msm_11ad_proxy.ko b/recovery/root/vendor_dlkm/lib/modules/msm_11ad_proxy.ko new file mode 100644 index 0000000..ab62126 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/msm_11ad_proxy.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/msm_drm.ko b/recovery/root/vendor_dlkm/lib/modules/msm_drm.ko new file mode 100644 index 0000000..eff22f7 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/msm_drm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/msm_ext_display.ko b/recovery/root/vendor_dlkm/lib/modules/msm_ext_display.ko new file mode 100644 index 0000000..5dc75d8 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/msm_ext_display.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/msm_kgsl.ko b/recovery/root/vendor_dlkm/lib/modules/msm_kgsl.ko new file mode 100644 index 0000000..6e10d44 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/msm_kgsl.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/msm_memshare.ko b/recovery/root/vendor_dlkm/lib/modules/msm_memshare.ko new file mode 100644 index 0000000..d603f73 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/msm_memshare.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/msm_performance.ko b/recovery/root/vendor_dlkm/lib/modules/msm_performance.ko new file mode 100644 index 0000000..1b0c096 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/msm_performance.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/msm_rng.ko b/recovery/root/vendor_dlkm/lib/modules/msm_rng.ko new file mode 100644 index 0000000..3d6ecac Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/msm_rng.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/msm_sharedmem.ko b/recovery/root/vendor_dlkm/lib/modules/msm_sharedmem.ko new file mode 100644 index 0000000..2678a1c Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/msm_sharedmem.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/msm_show_epoch.ko b/recovery/root/vendor_dlkm/lib/modules/msm_show_epoch.ko new file mode 100644 index 0000000..ed3209f Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/msm_show_epoch.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/msm_show_resume_irq.ko b/recovery/root/vendor_dlkm/lib/modules/msm_show_resume_irq.ko new file mode 100644 index 0000000..7c7fc5a Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/msm_show_resume_irq.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/msm_sysstats.ko b/recovery/root/vendor_dlkm/lib/modules/msm_sysstats.ko new file mode 100644 index 0000000..f1b97e5 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/msm_sysstats.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/msm_video.ko b/recovery/root/vendor_dlkm/lib/modules/msm_video.ko new file mode 100644 index 0000000..ad6bdd9 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/msm_video.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/nfc_i2c.ko b/recovery/root/vendor_dlkm/lib/modules/nfc_i2c.ko new file mode 100644 index 0000000..7196a7b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/nfc_i2c.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/panel_event_notifier.ko b/recovery/root/vendor_dlkm/lib/modules/panel_event_notifier.ko new file mode 100644 index 0000000..fea1946 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/panel_event_notifier.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/pci-msm-drv.ko b/recovery/root/vendor_dlkm/lib/modules/pci-msm-drv.ko new file mode 100644 index 0000000..7785524 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/pci-msm-drv.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/pdr_interface.ko b/recovery/root/vendor_dlkm/lib/modules/pdr_interface.ko new file mode 100644 index 0000000..2ea72b0 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/pdr_interface.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/phy-msm-snps-hs.ko b/recovery/root/vendor_dlkm/lib/modules/phy-msm-snps-hs.ko new file mode 100644 index 0000000..a0d5fa0 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/phy-msm-snps-hs.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/phy-msm-ssusb-qmp.ko b/recovery/root/vendor_dlkm/lib/modules/phy-msm-ssusb-qmp.ko new file mode 100644 index 0000000..00443be Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/phy-msm-ssusb-qmp.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/phy-qcom-emu.ko b/recovery/root/vendor_dlkm/lib/modules/phy-qcom-emu.ko new file mode 100644 index 0000000..7c28c94 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/phy-qcom-emu.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-14nm.ko b/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-14nm.ko new file mode 100644 index 0000000..2d4abf3 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-14nm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v3.ko b/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v3.ko new file mode 100644 index 0000000..69e9d9a Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v3.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v4-anarok.ko b/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v4-anarok.ko new file mode 100644 index 0000000..a589e80 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v4-anarok.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v4-cape.ko b/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v4-cape.ko new file mode 100644 index 0000000..a8bd3f9 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v4-cape.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v4-diwali.ko b/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v4-diwali.ko new file mode 100644 index 0000000..50aa4be Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v4-diwali.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v4-lahaina.ko b/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v4-lahaina.ko new file mode 100644 index 0000000..72fb5ce Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v4-lahaina.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v4-waipio.ko b/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v4-waipio.ko new file mode 100644 index 0000000..aa0df30 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/phy-qcom-ufs-qmp-v4-waipio.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/pinctrl-spmi-gpio.ko b/recovery/root/vendor_dlkm/lib/modules/pinctrl-spmi-gpio.ko new file mode 100644 index 0000000..3d9a330 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/pinctrl-spmi-gpio.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/pinctrl-spmi-mpp.ko b/recovery/root/vendor_dlkm/lib/modules/pinctrl-spmi-mpp.ko new file mode 100644 index 0000000..dd18a8e Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/pinctrl-spmi-mpp.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/pinctrl_lpi_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/pinctrl_lpi_dlkm.ko new file mode 100644 index 0000000..d2b2540 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/pinctrl_lpi_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/plh_scmi.ko b/recovery/root/vendor_dlkm/lib/modules/plh_scmi.ko new file mode 100644 index 0000000..bf142f1 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/plh_scmi.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/plh_vendor.ko b/recovery/root/vendor_dlkm/lib/modules/plh_vendor.ko new file mode 100644 index 0000000..b3cddcf Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/plh_vendor.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/pm8941-pwrkey.ko b/recovery/root/vendor_dlkm/lib/modules/pm8941-pwrkey.ko new file mode 100644 index 0000000..0a4c196 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/pm8941-pwrkey.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/pmic-pon-log.ko b/recovery/root/vendor_dlkm/lib/modules/pmic-pon-log.ko new file mode 100644 index 0000000..4d3447a Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/pmic-pon-log.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/pmic_glink.ko b/recovery/root/vendor_dlkm/lib/modules/pmic_glink.ko new file mode 100644 index 0000000..4174029 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/pmic_glink.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/pmu_scmi.ko b/recovery/root/vendor_dlkm/lib/modules/pmu_scmi.ko new file mode 100644 index 0000000..bbfa01b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/pmu_scmi.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/pmu_vendor.ko b/recovery/root/vendor_dlkm/lib/modules/pmu_vendor.ko new file mode 100644 index 0000000..1226f5e Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/pmu_vendor.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/policy_engine.ko b/recovery/root/vendor_dlkm/lib/modules/policy_engine.ko new file mode 100644 index 0000000..7f4b495 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/policy_engine.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/pwm-qti-lpg.ko b/recovery/root/vendor_dlkm/lib/modules/pwm-qti-lpg.ko new file mode 100644 index 0000000..5a7d4d6 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/pwm-qti-lpg.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/q6_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/q6_dlkm.ko new file mode 100644 index 0000000..ca7e51f Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/q6_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/q6_notifier_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/q6_notifier_dlkm.ko new file mode 100644 index 0000000..361d81b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/q6_notifier_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/q6_pdr_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/q6_pdr_dlkm.ko new file mode 100644 index 0000000..81975f9 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/q6_pdr_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qca_cld3_qca6750.ko b/recovery/root/vendor_dlkm/lib/modules/qca_cld3_qca6750.ko new file mode 100644 index 0000000..2ad341b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qca_cld3_qca6750.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qce50.ko b/recovery/root/vendor_dlkm/lib/modules/qce50.ko new file mode 100644 index 0000000..fa15cc6 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qce50.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcedev-mod.ko b/recovery/root/vendor_dlkm/lib/modules/qcedev-mod.ko new file mode 100644 index 0000000..e8bb600 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcedev-mod.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom-cpufreq-hw-debug.ko b/recovery/root/vendor_dlkm/lib/modules/qcom-cpufreq-hw-debug.ko new file mode 100644 index 0000000..fa1a5e9 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom-cpufreq-hw-debug.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom-hv-haptics.ko b/recovery/root/vendor_dlkm/lib/modules/qcom-hv-haptics.ko new file mode 100644 index 0000000..7beedfe Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom-hv-haptics.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom-i2c-pmic.ko b/recovery/root/vendor_dlkm/lib/modules/qcom-i2c-pmic.ko new file mode 100644 index 0000000..3e32ffe Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom-i2c-pmic.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom-pon.ko b/recovery/root/vendor_dlkm/lib/modules/qcom-pon.ko new file mode 100644 index 0000000..7a4eab5 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom-pon.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom-spmi-adc5.ko b/recovery/root/vendor_dlkm/lib/modules/qcom-spmi-adc5.ko new file mode 100644 index 0000000..5130600 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom-spmi-adc5.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom-spmi-temp-alarm.ko b/recovery/root/vendor_dlkm/lib/modules/qcom-spmi-temp-alarm.ko new file mode 100644 index 0000000..9f9d35b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom-spmi-temp-alarm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom-vadc-common.ko b/recovery/root/vendor_dlkm/lib/modules/qcom-vadc-common.ko new file mode 100644 index 0000000..21ddbe1 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom-vadc-common.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_cpuss_sleep_stats.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_cpuss_sleep_stats.ko new file mode 100644 index 0000000..38f2e3f Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_cpuss_sleep_stats.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_esoc.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_esoc.ko new file mode 100644 index 0000000..e61c823 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_esoc.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_glink.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_glink.ko new file mode 100644 index 0000000..8d3118c Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_glink.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_glink_smem.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_glink_smem.ko new file mode 100644 index 0000000..2ccd7bd Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_glink_smem.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_iommu_debug.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_iommu_debug.ko new file mode 100644 index 0000000..ee5aa6d Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_iommu_debug.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_ipc_lite.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_ipc_lite.ko new file mode 100644 index 0000000..449f58b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_ipc_lite.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_logbuf_vendor_hooks.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_logbuf_vendor_hooks.ko new file mode 100644 index 0000000..8637ec1 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_logbuf_vendor_hooks.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_lpm.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_lpm.ko new file mode 100644 index 0000000..4355e93 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_lpm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_pil_info.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_pil_info.ko new file mode 100644 index 0000000..be71736 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_pil_info.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_pm8008-regulator.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_pm8008-regulator.ko new file mode 100644 index 0000000..9557c42 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_pm8008-regulator.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_q6v5.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_q6v5.ko new file mode 100644 index 0000000..62ae9d1 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_q6v5.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_q6v5_adsp.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_q6v5_adsp.ko new file mode 100644 index 0000000..ba42364 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_q6v5_adsp.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_q6v5_pas.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_q6v5_pas.ko new file mode 100644 index 0000000..87772e8 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_q6v5_pas.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_ramdump.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_ramdump.ko new file mode 100644 index 0000000..dd394c0 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_ramdump.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_rimps.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_rimps.ko new file mode 100644 index 0000000..ecf3b7b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_rimps.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_smd.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_smd.ko new file mode 100644 index 0000000..2e51a76 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_smd.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_soc_wdt.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_soc_wdt.ko new file mode 100644 index 0000000..1f78576 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_soc_wdt.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_sync_file.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_sync_file.ko new file mode 100644 index 0000000..754facb Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_sync_file.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qcom_sysmon.ko b/recovery/root/vendor_dlkm/lib/modules/qcom_sysmon.ko new file mode 100644 index 0000000..746f04c Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qcom_sysmon.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qdss_bridge.ko b/recovery/root/vendor_dlkm/lib/modules/qdss_bridge.ko new file mode 100644 index 0000000..906553f Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qdss_bridge.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qfprom-sys.ko b/recovery/root/vendor_dlkm/lib/modules/qfprom-sys.ko new file mode 100644 index 0000000..4abfc84 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qfprom-sys.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qmi_helpers.ko b/recovery/root/vendor_dlkm/lib/modules/qmi_helpers.ko new file mode 100644 index 0000000..235c08a Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qmi_helpers.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qpnp-lcdb-regulator.ko b/recovery/root/vendor_dlkm/lib/modules/qpnp-lcdb-regulator.ko new file mode 100644 index 0000000..24a6f1b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qpnp-lcdb-regulator.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qpnp-pbs.ko b/recovery/root/vendor_dlkm/lib/modules/qpnp-pbs.ko new file mode 100644 index 0000000..d849cf0 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qpnp-pbs.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qpnp-power-on.ko b/recovery/root/vendor_dlkm/lib/modules/qpnp-power-on.ko new file mode 100644 index 0000000..59a939e Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qpnp-power-on.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qpnp_adaptive_charge.ko b/recovery/root/vendor_dlkm/lib/modules/qpnp_adaptive_charge.ko new file mode 100644 index 0000000..4af1a8b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qpnp_adaptive_charge.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qrtr-gunyah.ko b/recovery/root/vendor_dlkm/lib/modules/qrtr-gunyah.ko new file mode 100644 index 0000000..438de32 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qrtr-gunyah.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qrtr-mhi.ko b/recovery/root/vendor_dlkm/lib/modules/qrtr-mhi.ko new file mode 100644 index 0000000..fce542f Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qrtr-mhi.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qrtr-smd.ko b/recovery/root/vendor_dlkm/lib/modules/qrtr-smd.ko new file mode 100644 index 0000000..c359ee2 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qrtr-smd.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qseecom-mod.ko b/recovery/root/vendor_dlkm/lib/modules/qseecom-mod.ko new file mode 100644 index 0000000..19b585e Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qseecom-mod.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qti-adc-tm.ko b/recovery/root/vendor_dlkm/lib/modules/qti-adc-tm.ko new file mode 100644 index 0000000..49f6f94 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qti-adc-tm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qti_battery_charger_main.ko b/recovery/root/vendor_dlkm/lib/modules/qti_battery_charger_main.ko new file mode 100644 index 0000000..768fa5b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qti_battery_charger_main.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qti_battery_debug.ko b/recovery/root/vendor_dlkm/lib/modules/qti_battery_debug.ko new file mode 100644 index 0000000..e443a8d Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qti_battery_debug.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qti_cpufreq_cdev.ko b/recovery/root/vendor_dlkm/lib/modules/qti_cpufreq_cdev.ko new file mode 100644 index 0000000..665547c Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qti_cpufreq_cdev.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qti_devfreq_cdev.ko b/recovery/root/vendor_dlkm/lib/modules/qti_devfreq_cdev.ko new file mode 100644 index 0000000..d3a2332 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qti_devfreq_cdev.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qti_glink_charger.ko b/recovery/root/vendor_dlkm/lib/modules/qti_glink_charger.ko new file mode 100644 index 0000000..c657f2c Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qti_glink_charger.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qti_qmi_cdev.ko b/recovery/root/vendor_dlkm/lib/modules/qti_qmi_cdev.ko new file mode 100644 index 0000000..48228b7 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qti_qmi_cdev.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qti_qmi_sensor_v2.ko b/recovery/root/vendor_dlkm/lib/modules/qti_qmi_sensor_v2.ko new file mode 100644 index 0000000..4346165 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qti_qmi_sensor_v2.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/qti_userspace_cdev.ko b/recovery/root/vendor_dlkm/lib/modules/qti_userspace_cdev.ko new file mode 100644 index 0000000..4d55d90 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/qti_userspace_cdev.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/rdbg.ko b/recovery/root/vendor_dlkm/lib/modules/rdbg.ko new file mode 100644 index 0000000..e8d3941 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/rdbg.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/reboot-mode.ko b/recovery/root/vendor_dlkm/lib/modules/reboot-mode.ko new file mode 100644 index 0000000..e95d071 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/reboot-mode.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/regulator_aop_cdev.ko b/recovery/root/vendor_dlkm/lib/modules/regulator_aop_cdev.ko new file mode 100644 index 0000000..0474c48 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/regulator_aop_cdev.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/rimps_log.ko b/recovery/root/vendor_dlkm/lib/modules/rimps_log.ko new file mode 100644 index 0000000..72c3211 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/rimps_log.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/rmnet_aps.ko b/recovery/root/vendor_dlkm/lib/modules/rmnet_aps.ko new file mode 100644 index 0000000..e361dd6 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/rmnet_aps.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/rmnet_core.ko b/recovery/root/vendor_dlkm/lib/modules/rmnet_core.ko new file mode 100644 index 0000000..4470c39 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/rmnet_core.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/rmnet_ctl.ko b/recovery/root/vendor_dlkm/lib/modules/rmnet_ctl.ko new file mode 100644 index 0000000..4436c7c Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/rmnet_ctl.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/rmnet_offload.ko b/recovery/root/vendor_dlkm/lib/modules/rmnet_offload.ko new file mode 100644 index 0000000..ba7120b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/rmnet_offload.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/rmnet_perf.ko b/recovery/root/vendor_dlkm/lib/modules/rmnet_perf.ko new file mode 100644 index 0000000..6dcd2f8 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/rmnet_perf.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/rmnet_perf_tether.ko b/recovery/root/vendor_dlkm/lib/modules/rmnet_perf_tether.ko new file mode 100644 index 0000000..6d75701 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/rmnet_perf_tether.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/rmnet_sch.ko b/recovery/root/vendor_dlkm/lib/modules/rmnet_sch.ko new file mode 100644 index 0000000..5c2596d Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/rmnet_sch.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/rmnet_shs.ko b/recovery/root/vendor_dlkm/lib/modules/rmnet_shs.ko new file mode 100644 index 0000000..01b621a Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/rmnet_shs.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/rmnet_wlan.ko b/recovery/root/vendor_dlkm/lib/modules/rmnet_wlan.ko new file mode 100644 index 0000000..21ca099 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/rmnet_wlan.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/rndisipam.ko b/recovery/root/vendor_dlkm/lib/modules/rndisipam.ko new file mode 100644 index 0000000..12775f6 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/rndisipam.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/rproc_qcom_common.ko b/recovery/root/vendor_dlkm/lib/modules/rproc_qcom_common.ko new file mode 100644 index 0000000..1c50f0d Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/rproc_qcom_common.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/rq_stats.ko b/recovery/root/vendor_dlkm/lib/modules/rq_stats.ko new file mode 100644 index 0000000..497750c Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/rq_stats.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/schgm-flash.ko b/recovery/root/vendor_dlkm/lib/modules/schgm-flash.ko new file mode 100644 index 0000000..c56385f Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/schgm-flash.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/sdpm_clk.ko b/recovery/root/vendor_dlkm/lib/modules/sdpm_clk.ko new file mode 100644 index 0000000..d1be926 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/sdpm_clk.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/sensors_class.ko b/recovery/root/vendor_dlkm/lib/modules/sensors_class.ko new file mode 100644 index 0000000..ffd6947 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/sensors_class.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/sg.ko b/recovery/root/vendor_dlkm/lib/modules/sg.ko new file mode 100644 index 0000000..de7e149 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/sg.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/sgm4154x_charger_lite.ko b/recovery/root/vendor_dlkm/lib/modules/sgm4154x_charger_lite.ko new file mode 100644 index 0000000..d20f6a4 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/sgm4154x_charger_lite.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/shared_rail_scmi.ko b/recovery/root/vendor_dlkm/lib/modules/shared_rail_scmi.ko new file mode 100644 index 0000000..3d207b9 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/shared_rail_scmi.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/shared_rail_vendor.ko b/recovery/root/vendor_dlkm/lib/modules/shared_rail_vendor.ko new file mode 100644 index 0000000..e20ea35 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/shared_rail_vendor.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/slg5bm43670.ko b/recovery/root/vendor_dlkm/lib/modules/slg5bm43670.ko new file mode 100644 index 0000000..196c109 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/slg5bm43670.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/slim-qcom-ngd-ctrl.ko b/recovery/root/vendor_dlkm/lib/modules/slim-qcom-ngd-ctrl.ko new file mode 100644 index 0000000..8cbb12f Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/slim-qcom-ngd-ctrl.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/slimbus.ko b/recovery/root/vendor_dlkm/lib/modules/slimbus.ko new file mode 100644 index 0000000..e436f70 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/slimbus.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/smcinvoke_mod.ko b/recovery/root/vendor_dlkm/lib/modules/smcinvoke_mod.ko new file mode 100644 index 0000000..b58152b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/smcinvoke_mod.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/smp2p.ko b/recovery/root/vendor_dlkm/lib/modules/smp2p.ko new file mode 100644 index 0000000..ac62f3d Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/smp2p.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/smp2p_sleepstate.ko b/recovery/root/vendor_dlkm/lib/modules/smp2p_sleepstate.ko new file mode 100644 index 0000000..e4115e5 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/smp2p_sleepstate.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/snd-usb-audio-qmi.ko b/recovery/root/vendor_dlkm/lib/modules/snd-usb-audio-qmi.ko new file mode 100644 index 0000000..9ec789c Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/snd-usb-audio-qmi.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/snd_event_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/snd_event_dlkm.ko new file mode 100644 index 0000000..1deff9a Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/snd_event_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/soc_sleep_stats.ko b/recovery/root/vendor_dlkm/lib/modules/soc_sleep_stats.ko new file mode 100644 index 0000000..9ae967b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/soc_sleep_stats.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/spf_core_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/spf_core_dlkm.ko new file mode 100644 index 0000000..15ecdcf Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/spf_core_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/spi-msm-geni.ko b/recovery/root/vendor_dlkm/lib/modules/spi-msm-geni.ko new file mode 100644 index 0000000..644866a Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/spi-msm-geni.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/spmi-glink-debug.ko b/recovery/root/vendor_dlkm/lib/modules/spmi-glink-debug.ko new file mode 100644 index 0000000..21b865e Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/spmi-glink-debug.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/spmi-pmic-arb-debug.ko b/recovery/root/vendor_dlkm/lib/modules/spmi-pmic-arb-debug.ko new file mode 100644 index 0000000..e02abfd Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/spmi-pmic-arb-debug.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/sps_drv.ko b/recovery/root/vendor_dlkm/lib/modules/sps_drv.ko new file mode 100644 index 0000000..d30e1a3 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/sps_drv.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/ssusb-redriver-ps5169.ko b/recovery/root/vendor_dlkm/lib/modules/ssusb-redriver-ps5169.ko new file mode 100644 index 0000000..e037a6d Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/ssusb-redriver-ps5169.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/st21nfc.ko b/recovery/root/vendor_dlkm/lib/modules/st21nfc.ko new file mode 100644 index 0000000..8a56f08 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/st21nfc.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/stm_console.ko b/recovery/root/vendor_dlkm/lib/modules/stm_console.ko new file mode 100644 index 0000000..57416a0 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/stm_console.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/stm_core.ko b/recovery/root/vendor_dlkm/lib/modules/stm_core.ko new file mode 100644 index 0000000..e07034b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/stm_core.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/stm_ftrace.ko b/recovery/root/vendor_dlkm/lib/modules/stm_ftrace.ko new file mode 100644 index 0000000..cdbbb2f Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/stm_ftrace.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/stm_p_basic.ko b/recovery/root/vendor_dlkm/lib/modules/stm_p_basic.ko new file mode 100644 index 0000000..82afc40 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/stm_p_basic.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/stm_p_ost.ko b/recovery/root/vendor_dlkm/lib/modules/stm_p_ost.ko new file mode 100644 index 0000000..33a4192 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/stm_p_ost.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/stub_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/stub_dlkm.ko new file mode 100644 index 0000000..fc821d4 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/stub_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/subsystem_sleep_stats.ko b/recovery/root/vendor_dlkm/lib/modules/subsystem_sleep_stats.ko new file mode 100644 index 0000000..2d493e8 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/subsystem_sleep_stats.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/swr_ctrl_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/swr_ctrl_dlkm.ko new file mode 100644 index 0000000..28fbe88 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/swr_ctrl_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/swr_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/swr_dlkm.ko new file mode 100644 index 0000000..c24c90c Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/swr_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/swr_dmic_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/swr_dmic_dlkm.ko new file mode 100644 index 0000000..c610c99 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/swr_dmic_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/swr_haptics_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/swr_haptics_dlkm.ko new file mode 100644 index 0000000..4211f16 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/swr_haptics_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/sx937x_sar.ko b/recovery/root/vendor_dlkm/lib/modules/sx937x_sar.ko new file mode 100644 index 0000000..7f9f9be Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/sx937x_sar.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/synx-driver.ko b/recovery/root/vendor_dlkm/lib/modules/synx-driver.ko new file mode 100644 index 0000000..eeb192b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/synx-driver.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/sys_pm_vx.ko b/recovery/root/vendor_dlkm/lib/modules/sys_pm_vx.ko new file mode 100644 index 0000000..0f9eb56 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/sys_pm_vx.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/sysmon_subsystem_stats.ko b/recovery/root/vendor_dlkm/lib/modules/sysmon_subsystem_stats.ko new file mode 100644 index 0000000..4b879d8 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/sysmon_subsystem_stats.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/touchscreen_mmi.ko b/recovery/root/vendor_dlkm/lib/modules/touchscreen_mmi.ko new file mode 100644 index 0000000..4cae170 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/touchscreen_mmi.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/tz_log.ko b/recovery/root/vendor_dlkm/lib/modules/tz_log.ko new file mode 100644 index 0000000..3e059fd Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/tz_log.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/ucsi_glink.ko b/recovery/root/vendor_dlkm/lib/modules/ucsi_glink.ko new file mode 100644 index 0000000..3db2c55 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/ucsi_glink.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/usb_bam.ko b/recovery/root/vendor_dlkm/lib/modules/usb_bam.ko new file mode 100644 index 0000000..817a8f7 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/usb_bam.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/usb_f_ccid.ko b/recovery/root/vendor_dlkm/lib/modules/usb_f_ccid.ko new file mode 100644 index 0000000..d1c93a2 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/usb_f_ccid.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/usb_f_cdev.ko b/recovery/root/vendor_dlkm/lib/modules/usb_f_cdev.ko new file mode 100644 index 0000000..0cf22cb Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/usb_f_cdev.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/usb_f_diag.ko b/recovery/root/vendor_dlkm/lib/modules/usb_f_diag.ko new file mode 100644 index 0000000..931bfa4 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/usb_f_diag.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/usb_f_gsi.ko b/recovery/root/vendor_dlkm/lib/modules/usb_f_gsi.ko new file mode 100644 index 0000000..a648645 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/usb_f_gsi.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/usb_f_qdss.ko b/recovery/root/vendor_dlkm/lib/modules/usb_f_qdss.ko new file mode 100644 index 0000000..c3c3608 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/usb_f_qdss.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/utags.ko b/recovery/root/vendor_dlkm/lib/modules/utags.ko new file mode 100644 index 0000000..b0f0238 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/utags.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/videocc-parrot.ko b/recovery/root/vendor_dlkm/lib/modules/videocc-parrot.ko new file mode 100644 index 0000000..2bb7b5a Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/videocc-parrot.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/watchdogtest.ko b/recovery/root/vendor_dlkm/lib/modules/watchdogtest.ko new file mode 100644 index 0000000..a4f395b Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/watchdogtest.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/wcd937x_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/wcd937x_dlkm.ko new file mode 100644 index 0000000..d4a24c4 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/wcd937x_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/wcd937x_slave_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/wcd937x_slave_dlkm.ko new file mode 100644 index 0000000..ea2c185 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/wcd937x_slave_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/wcd938x_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/wcd938x_dlkm.ko new file mode 100644 index 0000000..f531ebb Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/wcd938x_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/wcd938x_slave_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/wcd938x_slave_dlkm.ko new file mode 100644 index 0000000..014e3e2 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/wcd938x_slave_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/wcd9xxx_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/wcd9xxx_dlkm.ko new file mode 100644 index 0000000..b24c1e3 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/wcd9xxx_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/wcd_core_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/wcd_core_dlkm.ko new file mode 100644 index 0000000..c70c2c7 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/wcd_core_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/wil6210.ko b/recovery/root/vendor_dlkm/lib/modules/wil6210.ko new file mode 100644 index 0000000..2192c1d Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/wil6210.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/wl2864c.ko b/recovery/root/vendor_dlkm/lib/modules/wl2864c.ko new file mode 100644 index 0000000..66bcb3c Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/wl2864c.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/wlan_firmware_service.ko b/recovery/root/vendor_dlkm/lib/modules/wlan_firmware_service.ko new file mode 100644 index 0000000..340abd6 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/wlan_firmware_service.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/wsa881x_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/wsa881x_dlkm.ko new file mode 100644 index 0000000..1021169 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/wsa881x_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/wsa883x_dlkm.ko b/recovery/root/vendor_dlkm/lib/modules/wsa883x_dlkm.ko new file mode 100644 index 0000000..f8c7e30 Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/wsa883x_dlkm.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/zram.ko b/recovery/root/vendor_dlkm/lib/modules/zram.ko new file mode 100644 index 0000000..007dc7c Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/zram.ko differ diff --git a/recovery/root/vendor_dlkm/lib/modules/zsmalloc.ko b/recovery/root/vendor_dlkm/lib/modules/zsmalloc.ko new file mode 100644 index 0000000..57ec74d Binary files /dev/null and b/recovery/root/vendor_dlkm/lib/modules/zsmalloc.ko differ diff --git a/security/ota.x509.pem b/security/ota.x509.pem new file mode 100755 index 0000000..2b59df9 --- /dev/null +++ b/security/ota.x509.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIID0jCCArqgAwIBAgIQZfHTVuBsSxjxBiTudIcHYjANBgkqhkiG9w0BAQsFADBx +MQswCQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMxFTATBgNVBAcMDExpYmVy +dHl2aWxsZTERMA8GA1UECgwITW90b3JvbGExDDAKBgNVBAsMA01EYjEXMBUGA1UE +AwwOTUFQNCBPVEEgNDY2LTYwHhcNMjEwNjI5MTAzODQ0WhcNNDYwNjI5MTAzODQ0 +WjBwMQswCQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0No +aWNhZ28xETAPBgNVBAoMCE1vdG9yb2xhMQwwCgYDVQQLDANNQkcxGzAZBgNVBAMM +Ek1BUDUgT1RBIDQ2Ni02LTI4MDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAMGEaovO7kzvd8CuA2FYOIRqsFX41l0nZClStyx0Ot6/GJ/RQ5hC2SdvkUZ4 +2Kby3y/jivUoQjfG2DRO6xUxrxHOTFQ5yQF9h7k53d+vwiOYd89nV+K36oukGs8O +2q5G0WKYdMwmudde/tBGBGTuTwweU4CEBqc9kinExSgJ6wBRTYkhJ+B7Y0gumO2S +4n42nTtSCs1E0JV2k1x2CHDHOzt9mYjpeYd5DFN0HYSu1HTL3yP+R+irP+dC/xyW +0J37iQ47os8qug8NfzCz+0zm+JazKjp5aRqPatwbE/t1VgGNdZELnnGGufMVlTWS +tVQqYnRG7QiCWjakm8tXA7K+rUcCAwEAAaNnMGUwHQYDVR0OBBYEFPuntN8YIcoU +MFFmPn9CkM4eC1hbMB8GA1UdIwQYMBaAFLZA9u6RAriNqjRQsT7yX8nrFD1jMA4G +A1UdDwEB/wQEAwIF4DATBgNVHSUEDDAKBggrBgEFBQcDAzANBgkqhkiG9w0BAQsF +AAOCAQEAcsHMFU7DOm8oV9M4jV+ftpgYwaZDcR7lcboVjdL1gs7n8dqvkOf664Rx +h7Loyv7fxvojPceYbkA3DGLWJtnhr+AKYk+uC/CGPYHVyzQIfZKCBzsi1s93QUIC +LaoIN8NY6jnY//C9SQVNFFrld+rDZOZnvTKGwlc3hIxMIrkx5Cm2ZsdF2lNueKEF +2pVeCPQW5DWkYUVPonv/nTIibIAzpU79tIkh2rAZJ8gbYFJdzefzuMWI1dcd3LrL +/CFZV01t3hu2JHMeSB/3kT6z7aNbqzZq0h6R9McviyjFKVcvAoVxe4Z7tuIKckBA +1mZTIklzJUMXxeIWhZ/IcB9JuxQFCg== +-----END CERTIFICATE----- diff --git a/system.prop b/system.prop new file mode 100644 index 0000000..9c882e8 --- /dev/null +++ b/system.prop @@ -0,0 +1,32 @@ +# Product informations +ro.product.board=parrot +ro.board.platform=parrot + +# ADB +ro.adb.secure=0 + +# Battery Property +ro.charger.enable_suspend=1 + +# Crypto +ro.crypto.allow_encrypt_override=true +vendor.gatekeeper.disable_spu=true +fbe.metadata.wrappedkey=true +ro.crypto.volume.filenames_mode=aes-256-cts +ro.vendor.qti.va_aosp.support=1 +ro.crypto.volume.metadata.method=dm-default-key + +# MTP +vendor.usb.use_ffs_mtp=1 + +# PASSTHROUGH +persist.sys.isUsbOtgEnabled=true +sys.usb.controller=a600000.dwc3 + +# Storage +external_storage.projid.enabled=1 +external_storage.casefold.enabled=1 +external_storage.sdcardfs.enabled=0 + +# Virtual AB device +ro.virtual_ab.enabled=true diff --git a/twrp_boston.mk b/twrp_boston.mk new file mode 100644 index 0000000..52214e2 --- /dev/null +++ b/twrp_boston.mk @@ -0,0 +1,34 @@ +# +# Copyright (C) 2023 The Android Open Source Project +# Copyright (C) 2023 SebaUbuntu's TWRP device tree generator +# +# SPDX-License-Identifier: Apache-2.0 +# + +# Inherit from those products. Most specific first. +$(call inherit-product, $(SRC_TARGET_DIR)/product/base.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/gsi_keys.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk) + +# Inherit some common TWRP stuff. +$(call inherit-product, vendor/twrp/config/common.mk) + +# Inherit from avatrn device +$(call inherit-product, device/motorola/boston/device.mk) + +PRODUCT_DEVICE := boston +PRODUCT_NAME := twrp_boston +PRODUCT_BRAND := Moto_G +PRODUCT_MODEL := XT2419 +PRODUCT_MANUFACTURER := Motorola +PRODUCT_RELEASE_NAME := Moto G Sylus 5G 2024 + +PRODUCT_GMS_CLIENTID_BASE := android-motorola + +PRODUCT_BUILD_PROP_OVERRIDES += \ + PRIVATE_BUILD_DESC="boston-user 12 U2UBS34.44-57-6 c77dd4 release-keys" + +BUILD_FINGERPRINT := motorola/boston/boston:12/U2UBS34.44-57-6/c77dd4:user/release-keys