diff options
| author | Caner Aydın <punisher_caner@windowslive.com> | 2016-09-26 12:55:49 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-09-26 12:55:49 +0300 |
| commit | 15fa8f7e7b7bc3c0ac7663e0a90862dcdec494f8 (patch) | |
| tree | 91d4cf304657a664c14fc524388eb30bd7c8c248 | |
| parent | 1028ef0bfc0424f95b1f640dc71b68ff4b96bd49 (diff) | |
Changes for Nougat support
| -rw-r--r-- | rootdir/etc/init.qcom.sh | 398 |
1 files changed, 389 insertions, 9 deletions
diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index 6664b25..aace3ba 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -1,14 +1,37 @@ +#!/system/bin/sh +# Copyright (c) 2009-2015, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of The Linux Foundation nor +# the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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. +# -export PATH=/system/bin - -# Set platform variables target=`getprop ro.board.platform` if [ -f /sys/devices/soc0/soc_id ]; then platformid=`cat /sys/devices/soc0/soc_id` else platformid=`cat /sys/devices/system/soc/soc0/id` fi - # # Function to start sensors for DSPS enabled platforms # @@ -26,6 +49,50 @@ start_sensors() fi } +start_battery_monitor() +{ + if ls /sys/bus/spmi/devices/qpnp-bms-*/fcc_data ; then + chown -h root.system /sys/module/pm8921_bms/parameters/* + chown -h root.system /sys/module/qpnp_bms/parameters/* + chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_data + chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_temp + chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_chgcyl + chmod 0660 /sys/module/qpnp_bms/parameters/* + chmod 0660 /sys/module/pm8921_bms/parameters/* + mkdir -p /data/bms + chown -h root.system /data/bms + chmod 0770 /data/bms + start battery_monitor + fi +} + +start_charger_monitor() +{ + if ls /sys/module/qpnp_charger/parameters/charger_monitor; then + chown -h root.system /sys/module/qpnp_charger/parameters/* + chown -h root.system /sys/class/power_supply/battery/input_current_max + chown -h root.system /sys/class/power_supply/battery/input_current_trim + chown -h root.system /sys/class/power_supply/battery/input_current_settled + chown -h root.system /sys/class/power_supply/battery/voltage_min + chmod 0664 /sys/class/power_supply/battery/input_current_max + chmod 0664 /sys/class/power_supply/battery/input_current_trim + chmod 0664 /sys/class/power_supply/battery/input_current_settled + chmod 0664 /sys/class/power_supply/battery/voltage_min + chmod 0664 /sys/module/qpnp_charger/parameters/charger_monitor + start charger_monitor + fi +} + +start_msm_irqbalance_8939() +{ + if [ -f /system/bin/msm_irqbalance ]; then + case "$platformid" in + "239" | "241" | "263" | "264" | "268" | "269" | "270" | "271") + start msm_irqbalance;; + esac + fi +} + start_msm_irqbalance_8952() { if [ -f /system/bin/msm_irqbalance ]; then @@ -40,10 +107,17 @@ start_msm_irqbalance_8952() fi } +start_msm_irqbalance() +{ + if [ -f /system/bin/msm_irqbalance ]; then + start msm_irqbalance + fi +} + start_copying_prebuilt_qcril_db() { - if [ -f /vendor/qcril.db -a ! -f /data/misc/radio/qcril.db ]; then - cp /vendor/qcril.db /data/misc/radio/qcril.db + if [ -f /system/vendor/qcril.db -a ! -f /data/misc/radio/qcril.db ]; then + cp /system/vendor/qcril.db /data/misc/radio/qcril.db chown -h radio.radio /data/misc/radio/qcril.db fi } @@ -51,9 +125,14 @@ start_copying_prebuilt_qcril_db() baseband=`getprop ro.baseband` echo 1 > /proc/sys/net/ipv6/conf/default/accept_ra_defrtr +case "$baseband" in + "svlte2a") + start bridgemgrd + ;; +esac + start_sensors start_copying_prebuilt_qcril_db -start_msm_irqbalance_8952 if [ -f /sys/class/graphics/fb0/modes ]; then panel_res=`cat /sys/class/graphics/fb0/modes` @@ -64,6 +143,305 @@ if [ -f /sys/class/graphics/fb0/modes ]; then fi fi +case "$target" in + "msm7630_surf" | "msm7630_1x" | "msm7630_fusion") + if [ -f /sys/devices/soc0/hw_platform ]; then + value=`cat /sys/devices/soc0/hw_platform` + else + value=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + case "$value" in + "Fluid") + start profiler_daemon;; + esac + ;; + "msm8660" ) + if [ -f /sys/devices/soc0/hw_platform ]; then + platformvalue=`cat /sys/devices/soc0/hw_platform` + else + platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + case "$platformvalue" in + "Fluid") + start profiler_daemon;; + esac + ;; + "msm8960") + case "$baseband" in + "msm") + start_battery_monitor;; + esac + + if [ -f /sys/devices/soc0/hw_platform ]; then + platformvalue=`cat /sys/devices/soc0/hw_platform` + else + platformvalue=`cat /sys/devices/system/soc/soc0/hw_platform` + fi + case "$platformvalue" in + "Fluid") + start profiler_daemon;; + "Liquid") + start profiler_daemon;; + esac + ;; + "msm8974") + platformvalue=`cat /sys/devices/soc0/hw_platform` + case "$platformvalue" in + "Fluid") + start profiler_daemon;; + "Liquid") + start profiler_daemon;; + esac + case "$baseband" in + "msm") + start_battery_monitor + ;; + esac + start_charger_monitor + ;; + "apq8084") + platformvalue=`cat /sys/devices/soc0/hw_platform` + case "$platformvalue" in + "Fluid") + start profiler_daemon;; + "Liquid") + start profiler_daemon;; + esac + ;; + "msm8226") + start_charger_monitor + ;; + "msm8610") + start_charger_monitor + ;; + "msm8916") + start_msm_irqbalance_8939 + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/platform_subtype_id ]; then + platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` + fi + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + fi + case "$soc_id" in + "239") + case "$hw_platform" in + "Surf") + case "$platform_subtype_id" in + "1" | "2") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + "MTP") + case "$platform_subtype_id" in + "3") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + esac + ;; + esac + ;; + "msm8952") + start_msm_irqbalance_8952 + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/platform_subtype_id ]; then + platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` + fi + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + fi + case "$soc_id" in + "264") + case "$hw_platform" in + "Surf") + case "$platform_subtype_id" in + "1" | "2") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + "MTP") + case "$platform_subtype_id" in + "3") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + "QRD") + case "$platform_subtype_id" in + "0" | "1") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + esac + ;; + "278") + case "$hw_platform" in + "Surf") + case "$platform_subtype_id" in + "0") + if [ $panel_xres -eq 1440 ]; then + setprop qemu.hw.mainkeys 0 + fi + ;; + esac + ;; + "MTP") + case "$platform_subtype_id" in + "0" | "1") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + "QRD") + case "$platform_subtype_id" in + "0" | "64") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + "RCM") + case "$platform_subtype_id" in + "0") + if [ $panel_xres -eq 1440 ]; then + setprop qemu.hw.mainkeys 0 + fi + ;; + esac + ;; + esac + ;; + "266") + case "$hw_platform" in + "Surf") + case "$platform_subtype_id" in + "0") + if [ $panel_xres -eq 1440 ]; then + setprop qemu.hw.mainkeys 0 + fi + ;; + esac + ;; + "MTP") + case "$platform_subtype_id" in + "0" | "1") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + "QRD") + case "$platform_subtype_id" in + "0") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + "RCM") + case "$platform_subtype_id" in + "0") + if [ $panel_xres -eq 1440 ]; then + setprop qemu.hw.mainkeys 0 + fi + ;; + esac + ;; + esac + ;; + "277") + case "$hw_platform" in + "Surf") + case "$platform_subtype_id" in + "0") + if [ $panel_xres -eq 1440 ]; then + setprop qemu.hw.mainkeys 0 + fi + ;; + esac + ;; + "MTP") + case "$platform_subtype_id" in + "0" | "1") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + "QRD") + case "$platform_subtype_id" in + "0") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + "RCM") + case "$platform_subtype_id" in + "0") + if [ $panel_xres -eq 1440 ]; then + setprop qemu.hw.mainkeys 0 + fi + ;; + esac + ;; + esac + ;; + "274") + case "$hw_platform" in + "Surf") + case "$platform_subtype_id" in + "0") + if [ $panel_xres -eq 1440 ]; then + setprop qemu.hw.mainkeys 0 + fi + ;; + esac + ;; + "MTP") + case "$platform_subtype_id" in + "0" | "1") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + "QRD") + case "$platform_subtype_id" in + "0") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + "RCM") + case "$platform_subtype_id" in + "0") + if [ $panel_xres -eq 1440 ]; then + setprop qemu.hw.mainkeys 0 + fi + ;; + esac + ;; + esac + ;; + esac + ;; + "msm8994") + start_msm_irqbalance + ;; + "msm8909") + ;; +esac + bootmode=`getprop ro.bootmode` emmc_boot=`getprop ro.boot.emmc` case "$emmc_boot" @@ -81,7 +459,9 @@ esac rm -rf /data/misc/radio/modem_config mkdir /data/misc/radio/modem_config chmod 770 /data/misc/radio/modem_config -cp -r /firmware/image/modem_pr/mcfg/configs/* /data/misc/radio/modem_config +cp -r /firmware/image/modem_pr/mcfg/configs/* /data/misc/radio/modem_config chown -hR radio.radio /data/misc/radio/modem_config +cp /system/etc/mbn_ota.txt /data/misc/radio/modem_config +chown radio.radio /data/misc/radio/modem_config/mbn_ota.txt echo 1 > /data/misc/radio/copy_complete -chown radio:radio /data/misc/radio/copy_complete +chown radio.radio /data/misc/radio/copy_complete |
