From a89fbf4892e92cdf09557aaaeb9a8a7ca9258562 Mon Sep 17 00:00:00 2001 From: Adam Shih Date: Thu, 8 Sep 2022 09:52:39 +0800 Subject: [PATCH] use gs-common insert module script Bug: 243763292 Test: boot to home Change-Id: I077ee2287b60f243e2440ad3f3a55c02d8ad52ad --- conf/init.zuma.rc | 4 +-- device.mk | 6 ++-- init.display.sh | 22 +++++++++++++ init.insmod.sh | 78 -------------------------------------------- init.insmod.zuma.cfg | 12 ------- 5 files changed, 26 insertions(+), 96 deletions(-) create mode 100644 init.display.sh delete mode 100755 init.insmod.sh delete mode 100644 init.insmod.zuma.cfg diff --git a/conf/init.zuma.rc b/conf/init.zuma.rc index 1b17b4ac..2908dd9e 100644 --- a/conf/init.zuma.rc +++ b/conf/init.zuma.rc @@ -241,7 +241,7 @@ on init chown radio system /sys/devices/platform/cp-tm1/cp_temp # Loading common kernel modules in background - start insmod_sh_common + start init_display # Charge stats (write 0) chown system system /sys/class/power_supply/battery/charge_stats @@ -831,7 +831,7 @@ on property:persist.sys.test_harness=1 && property:persist.vendor.testing_batte setprop persist.vendor.charge.start.level 0 setprop vendor.battery.defender.disable 1 -service insmod_sh_common /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.zuma.cfg +service init_display /vendor/bin/init.display.sh class main user root group root system diff --git a/device.mk b/device.mk index 233d6751..702ad59c 100644 --- a/device.mk +++ b/device.mk @@ -292,11 +292,9 @@ PRODUCT_COPY_FILES += \ # Shell scripts PRODUCT_COPY_FILES += \ - device/google/zuma/init.insmod.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.insmod.sh \ + device/google/zuma/init.display.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.display.sh -# insmod files -PRODUCT_COPY_FILES += \ - device/google/zuma/init.insmod.zuma.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/init.insmod.zuma.cfg +include device/google/gs-common/insmod/insmod.mk # For creating dtbo image PRODUCT_HOST_PACKAGES += \ diff --git a/init.display.sh b/init.display.sh new file mode 100644 index 00000000..bb942e3f --- /dev/null +++ b/init.display.sh @@ -0,0 +1,22 @@ +#!/vendor/bin/sh +modules_dir= + +for f in /vendor/lib/modules/*/modules.dep /vendor/lib/modules/modules.dep; do + if [[ -f "$f" ]]; then + modules_dir="$(dirname "$f")" + break + fi +done + +if [[ -z "${modules_dir}" ]]; then + echo "Unable to locate kernel modules directory" 2>&1 + exit 1 +fi + +panel_drv=`getprop ro.boot.primary_panel_drv` +if [[ -z "$panel_drv" ]]; then + panel_drv="panel-samsung-emul" +fi +modprobe -d "${modules_dir}" exynos-drm.ko +modprobe -d "${modules_dir}" $panel_drv.ko + diff --git a/init.insmod.sh b/init.insmod.sh deleted file mode 100755 index 645391af..00000000 --- a/init.insmod.sh +++ /dev/null @@ -1,78 +0,0 @@ -#!/vendor/bin/sh - -############################################################# -### init.insmod.cfg format: ### -### ----------------------------------------------------- ### -### [insmod|setprop|enable/moprobe|wait] [path|prop name] ### -### ... ### -############################################################# - -modules_dir= - -for f in /vendor/lib/modules/*/modules.dep /vendor/lib/modules/modules.dep; do - if [[ -f "$f" ]]; then - modules_dir="$(dirname "$f")" - break - fi -done - -if [[ -z "${modules_dir}" ]]; then - echo "Unable to locate kernel modules directory" 2>&1 - exit 1 -fi - -# imitates wait_for_file() in init -wait_for_file() -{ - filename="${1}" - timeout="${2:-5}" - - expiry=$(($(date "+%s")+timeout)) - while [[ ! -e "${filename}" ]] && [[ "$(date "+%s")" -le "${expiry}" ]] - do - sleep 0.01 - done -} - -install_display_drivers() -{ - panel_drv=`getprop ro.boot.primary_panel_drv` - if [[ -z "$panel_drv" ]]; then - panel_drv="panel-samsung-emul" - fi - modprobe -d "${modules_dir}" exynos-drm.ko - modprobe -d "${modules_dir}" $panel_drv.ko -} - -if [ $# -eq 1 ]; then - cfg_file=$1 -else - # Set property even if there is no insmod config - # to unblock early-boot trigger - setprop vendor.common.modules.ready - setprop vendor.device.modules.ready - setprop vendor.all.modules.ready - setprop vendor.all.devices.ready - exit 1 -fi - -if [ -f $cfg_file ]; then - while IFS="|" read -r action arg - do - case $action in - "insmod") insmod $arg ;; - "setprop") setprop $arg 1 ;; - "enable") echo 1 > $arg ;; - "modprobe") - case ${arg} in - "-b *" | "-b") - arg="-b --all=${modules_dir}/modules.load" ;; - "*" | "") - arg="--all=${modules_dir}/modules.load" ;; - esac - modprobe -a -d "${modules_dir}" $arg ;; - "wait") wait_for_file $arg ;; - "install_display_drivers") install_display_drivers ;; - esac - done < $cfg_file -fi diff --git a/init.insmod.zuma.cfg b/init.insmod.zuma.cfg deleted file mode 100644 index 1eb29b9a..00000000 --- a/init.insmod.zuma.cfg +++ /dev/null @@ -1,12 +0,0 @@ -#################################################### -# init.insmod.common.cfg # -# This file contains common kernel modules to load # -# at init time by init.insmod.sh script # -#################################################### - -# Load common kernel modules -# Modules here will be loaded *before* device specific modules -install_display_drivers -modprobe|-b * -# All common modules loaded -setprop|vendor.common.modules.ready