Switch to modules.load for lkm
Change-Id: I1a44f93747c37db7faea2a54cce90bfdbdb7ae1c
This commit is contained in:
1 parent
66cd5b36e1
commit
ba8c478824
7 files changed
+106
-234
No files matched your search
@@ -56,6 +56,7 @@ TARGET_KERNEL_CONFIG := tegra_android_defconfig
|
||||
TARGET_KERNEL_ADDITIONAL_FLAGS := \
|
||||
NV_BUILD_KERNEL_OPTIONS=$(TARGET_TEGRA_KERNEL)
|
||||
HOSTCFLAGS="-fuse-ld=lld -Wno-unused-command-line-argument"
|
||||
include device/nintendo/nx/modules.mk
|
||||
|
||||
# Kernel Image Parameters
|
||||
BOARD_KERNEL_IMAGE_NAME := Image.gz
|
||||
|
||||
@@ -139,7 +139,8 @@ PRODUCT_PACKAGES += \
|
||||
# Loadable kernel modules
|
||||
PRODUCT_PACKAGES += \
|
||||
init.lkm.rc \
|
||||
lkm_loader
|
||||
lkm_loader \
|
||||
lkm_loader_target
|
||||
|
||||
# Media config
|
||||
PRODUCT_COPY_FILES += \
|
||||
|
||||
@@ -68,8 +68,8 @@ LOCAL_MODULE_RELATIVE_PATH := init/hw
|
||||
include $(BUILD_PREBUILT)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := lkm_loader
|
||||
LOCAL_SRC_FILES := lkm_loader.sh
|
||||
LOCAL_MODULE := lkm_loader_target
|
||||
LOCAL_SRC_FILES := lkm_loader_target.sh
|
||||
LOCAL_MODULE_SUFFIX := .sh
|
||||
LOCAL_MODULE_CLASS := EXECUTABLES
|
||||
LOCAL_VENDOR_MODULE := true
|
||||
|
||||
@@ -18,10 +18,6 @@ on fs
|
||||
setprop camera.disable_zsl_mode 1
|
||||
setprop ro.config.media_vol_default 15
|
||||
|
||||
# start Early Loadable Kernel Module service
|
||||
exec /vendor/bin/lkm_loader.sh early
|
||||
restorecon_recursive /sys
|
||||
|
||||
#start pbc daemon
|
||||
service pbc2 /system/vendor/bin/pbc2
|
||||
class main
|
||||
@@ -59,10 +55,6 @@ on boot
|
||||
write /sys/devices/system/cpu/cpufreq/schedutil/down_rate_limit_us 2000
|
||||
write /sys/devices/system/cpu/cpufreq/schedutil/capacity_margin 256
|
||||
|
||||
# start Loadable Kernel Module service
|
||||
start vendor.lkm_loader
|
||||
|
||||
restorecon_recursive /sys/devices/system/cpu/cpufreq/interactive
|
||||
setprop persist.vendor.tegra.decompression cde-client
|
||||
|
||||
wait /sys/devices/57000000.gpu/devfreq/57000000.gpu/available_frequencies 10
|
||||
|
||||
@@ -1,223 +0,0 @@
|
||||
#!/vendor/bin/sh
|
||||
|
||||
# Copyright (c) 2017-2019, NVIDIA CORPORATION. All rights reserved.
|
||||
#
|
||||
# NVIDIA CORPORATION and its licensors retain all intellectual property
|
||||
# and proprietary rights in and to this software, related documentation
|
||||
# and any modifications thereto. Any use, reproduction, disclosure or
|
||||
# distribution of this software and related documentation without an express
|
||||
# license agreement from NVIDIA CORPORATION is strictly prohibited.
|
||||
|
||||
scriptName=$0
|
||||
|
||||
# Read the Board/Platform name
|
||||
hardwareName=$(getprop ro.hardware)
|
||||
|
||||
/vendor/bin/log -t "$scriptName" -p i "*** STARTING LKM LOADER FOR ***:" $hardwareName
|
||||
|
||||
do_insmod()
|
||||
{
|
||||
if [ -e "$1" ]; then
|
||||
insmod $@ > /dev/kmsg 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
#====================================================================================
|
||||
# Early load is for loading modules "on fs"
|
||||
early_load()
|
||||
{
|
||||
# list of Vendor modules
|
||||
# insmod /vendor/lib/modules/example1.ko
|
||||
/vendor/bin/log -t "$scriptName" -p i "Early Loading LKM SoC-Vendor modules started"
|
||||
|
||||
do_insmod /vendor/lib/modules/pcie-tegra-dw.ko
|
||||
do_insmod /vendor/lib/modules/pci-tegra.ko
|
||||
|
||||
/vendor/bin/log -t "$scriptName" -p i "Loading LKM nvgpu started"
|
||||
do_insmod /vendor/lib/modules/nvgpu.ko
|
||||
/vendor/bin/log -t "$scriptName" -p i "Loading LKM nvgpu completed"
|
||||
|
||||
# Realtek R8168 drivers
|
||||
do_insmod /vendor/lib/modules/r8168.ko
|
||||
|
||||
# load COMMS drivers
|
||||
do_insmod /vendor/lib/modules/bluedroid_pm.ko
|
||||
if [ "`cat /proc/device-tree/brcmfmac_pcie_wlan/status`" = "okay" ]; then
|
||||
/vendor/bin/log -t "wifiloader" -p i " Loading brcmfmac driver for wlan"
|
||||
do_insmod /vendor/lib/modules/compat.ko
|
||||
do_insmod /vendor/lib/modules/cfg80211.ko
|
||||
do_insmod /vendor/lib/modules/brcmutil.ko
|
||||
do_insmod /vendor/lib/modules/brcmfmac.ko
|
||||
fi
|
||||
|
||||
# USB-to-serial driver
|
||||
do_insmod /vendor/lib/modules/usbserial.ko
|
||||
do_insmod /vendor/lib/modules/ftdi_sio.ko
|
||||
/vendor/bin/log -t "$scriptName" -p i "loading usb serial modules completed"
|
||||
|
||||
/vendor/bin/log -t "$scriptName" -p i "loading vendor audio modules started"
|
||||
# HDA audio driver
|
||||
do_insmod /vendor/lib/modules/snd-hda-tegra.ko
|
||||
|
||||
# APE audio drivers
|
||||
do_insmod /vendor/lib/modules/snd-soc-tegra-alt-utils.ko
|
||||
do_insmod /vendor/lib/modules/snd-soc-tegra210-alt-xbar.ko
|
||||
do_insmod /vendor/lib/modules/tegra210-adma.ko
|
||||
do_insmod /vendor/lib/modules/snd-soc-tegra210-alt-admaif.ko
|
||||
do_insmod /vendor/lib/modules/snd-soc-tegra-virt-alt-ivc.ko
|
||||
do_insmod /vendor/lib/modules/snd-soc-tegra210-alt-adsp.ko
|
||||
do_insmod /vendor/lib/modules/snd-soc-tegra210-alt-sfc.ko
|
||||
do_insmod /vendor/lib/modules/snd-soc-tegra210-alt-i2s.ko
|
||||
do_insmod /vendor/lib/modules/snd-soc-tegra210-alt-mixer.ko
|
||||
do_insmod /vendor/lib/modules/snd-soc-tegra210-alt-afc.ko
|
||||
do_insmod /vendor/lib/modules/snd-soc-tegra210-alt-adx.ko
|
||||
do_insmod /vendor/lib/modules/snd-soc-tegra210-alt-amx.ko
|
||||
do_insmod /vendor/lib/modules/snd-soc-tegra210-alt-dmic.ko
|
||||
do_insmod /vendor/lib/modules/snd-soc-tegra210-alt-mvc.ko
|
||||
do_insmod /vendor/lib/modules/snd-soc-tegra210-alt-ope.ko
|
||||
/vendor/bin/log -t "$scriptName" -p i "loading vendor audio modules completed"
|
||||
|
||||
do_insmod /vendor/lib/modules/cpufreq_schedutil.ko
|
||||
do_insmod /vendor/lib/modules/cpufreq_conservative.ko
|
||||
do_insmod /vendor/lib/modules/cpufreq_powersave.ko
|
||||
do_insmod /vendor/lib/modules/cpufreq_userspace.ko
|
||||
do_insmod /vendor/lib/modules/cpufreq_ondemand.ko
|
||||
|
||||
# DEVFREQ governors
|
||||
do_insmod /vendor/lib/modules/governor_userspace.ko
|
||||
do_insmod /vendor/lib/modules/governor_pod_scaling.ko
|
||||
do_insmod /vendor/lib/modules/governor_wmark_active.ko
|
||||
# Security
|
||||
do_insmod /vendor/lib/modules/echainiv.ko
|
||||
do_insmod /vendor/lib/modules/af_alg.ko
|
||||
do_insmod /vendor/lib/modules/algif_skcipher.ko
|
||||
do_insmod /vendor/lib/modules/algif_hash.ko
|
||||
do_insmod /vendor/lib/modules/cryptd.ko
|
||||
do_insmod /vendor/lib/modules/crypto_simd.ko
|
||||
do_insmod /vendor/lib/modules/ecc.ko
|
||||
do_insmod /vendor/lib/modules/ecdsa_generic.ko
|
||||
do_insmod /vendor/lib/modules/twofish_common.ko
|
||||
do_insmod /vendor/lib/modules/twofish_generic.ko
|
||||
do_insmod /vendor/lib/modules/ablk_helper.ko
|
||||
do_insmod /vendor/lib/modules/ecdh_generic.ko
|
||||
do_insmod /vendor/lib/modules/aes-ce-cipher.ko
|
||||
do_insmod /vendor/lib/modules/aes-ce-ccm.ko
|
||||
do_insmod /vendor/lib/modules/sha1-ce.ko
|
||||
do_insmod /vendor/lib/modules/sha2-ce.ko
|
||||
do_insmod /vendor/lib/modules/sha512-arm64.ko
|
||||
do_insmod /vendor/lib/modules/aes-ce-blk.ko
|
||||
do_insmod /vendor/lib/modules/gf128mul.ko
|
||||
do_insmod /vendor/lib/modules/ghash-ce.ko
|
||||
do_insmod /vendor/lib/modules/aes-neon-blk.ko
|
||||
do_insmod /vendor/lib/modules/aes-neon-bs.ko
|
||||
do_insmod /vendor/lib/modules/tegra-se.ko
|
||||
do_insmod /vendor/lib/modules/tegra-se-elp.ko
|
||||
do_insmod /vendor/lib/modules/tegra-se-nvhost.ko
|
||||
do_insmod /vendor/lib/modules/tegra-cryptodev.ko
|
||||
do_insmod /vendor/lib/modules/trusty.ko
|
||||
do_insmod /vendor/lib/modules/trusty-irq.ko
|
||||
do_insmod /vendor/lib/modules/virtio.ko
|
||||
do_insmod /vendor/lib/modules/virtio_ring.ko
|
||||
do_insmod /vendor/lib/modules/trusty-log.ko
|
||||
do_insmod /vendor/lib/modules/trusty-ipc.ko
|
||||
do_insmod /vendor/lib/modules/trusty-ote.ko
|
||||
do_insmod /vendor/lib/modules/trusty-otf-iface.ko
|
||||
do_insmod /vendor/lib/modules/trusty-mem.ko
|
||||
do_insmod /vendor/lib/modules/trusty-virtio.ko
|
||||
|
||||
# Peripheral
|
||||
do_insmod /vendor/lib/modules/core.ko
|
||||
do_insmod /vendor/lib/modules/input-cfboost.ko
|
||||
do_insmod /vendor/lib/modules/pwm-tegra-pmc-blink.ko
|
||||
do_insmod /vendor/lib/modules/pwm_fan.ko
|
||||
do_insmod /vendor/lib/modules/therm_fan_est.ko
|
||||
|
||||
# Joycons (make sure to load after pwm_fan to avoid excessive fanspin!)
|
||||
do_insmod /vendor/lib/modules/crc8.ko
|
||||
do_insmod /vendor/lib/modules/joycon-serdev.ko
|
||||
|
||||
# TV tuner drivers
|
||||
do_insmod /vendor/lib/modules/videobuf-core.ko
|
||||
do_insmod /vendor/lib/modules/videobuf-vmalloc.ko
|
||||
do_insmod /vendor/lib/modules/videobuf-dvb.ko
|
||||
do_insmod /vendor/lib/modules/tveeprom.ko
|
||||
/vendor/bin/log -t "$scriptName" -p i "Early loading SoC-Vendor TV tuner modules completed"
|
||||
|
||||
/vendor/bin/log -t "$scriptName" -p i "Early Loading LKM SoC-Vendor modules completed"
|
||||
|
||||
#--------------------------------------------------------------------------------
|
||||
|
||||
# list of ODM modules
|
||||
# insmod /odm/lib/modules/example2.ko
|
||||
# Upstream has these on odm, but we put all modules on vendor
|
||||
/vendor/bin/log -t "$scriptName" -p i "Early Loading LKM Board-ODM modules started"
|
||||
|
||||
/vendor/bin/log -t "$scriptName" -p i "loading odm audio modules started"
|
||||
do_insmod /vendor/lib/modules/snd-soc-rt5640.ko
|
||||
do_insmod /vendor/lib/modules/snd-soc-tegra-machine-driver.ko
|
||||
/vendor/bin/log -t "$scriptName" -p i "loading odm audio modules completed"
|
||||
|
||||
# Peripheral
|
||||
do_insmod /vendor/lib/modules/ina230.ko
|
||||
do_insmod /vendor/lib/modules/ina3221.ko
|
||||
|
||||
/vendor/bin/log -t "$scriptName" -p i "Loading vendor gpio timed keys module for early mode started"
|
||||
do_insmod /vendor/lib/modules/gpio_timed_keys.ko
|
||||
/vendor/bin/log -t "$scriptName" -p i "Loading vendor gpio timed keys module for early mode completed"
|
||||
|
||||
# TV tuner drivers
|
||||
do_insmod /vendor/lib/modules/lgdt3306a.ko
|
||||
do_insmod /vendor/lib/modules/si2168.ko
|
||||
do_insmod /vendor/lib/modules/si2157.ko
|
||||
do_insmod /vendor/lib/modules/lgdt3305.ko
|
||||
do_insmod /vendor/lib/modules/tda18272.ko
|
||||
do_insmod /vendor/lib/modules/em28xx.ko
|
||||
do_insmod /vendor/lib/modules/em28xx-dvb.ko
|
||||
do_insmod /vendor/lib/modules/em28xx-rc.ko
|
||||
do_insmod /vendor/lib/modules/cx25840.ko
|
||||
do_insmod /vendor/lib/modules/cx2341x.ko
|
||||
do_insmod /vendor/lib/modules/cx231xx.ko
|
||||
do_insmod /vendor/lib/modules/cx231xx-dvb.ko
|
||||
/vendor/bin/log -t "$scriptName" -p i "Early loading ODM TV tuner modules completed"
|
||||
|
||||
# Joycons (make sure to load after pwm_fan to avoid excessive fanspin!)
|
||||
/vendor/bin/log -t "$scriptName" -p i "Loading JoyCon serdev modules started"
|
||||
|
||||
do_insmod /vendor/lib/modules/crc8.ko
|
||||
do_insmod /vendor/lib/modules/joycon-serdev.ko
|
||||
|
||||
/vendor/bin/log -t "$scriptName" -p i "Loading JoyCon serdev modules completed"
|
||||
}
|
||||
|
||||
#===================================================================================
|
||||
|
||||
# Normal load is for loading on boot
|
||||
normal_load()
|
||||
{
|
||||
# list of Vendor modules
|
||||
# insmod /vendor/lib/modules/example1.ko
|
||||
/vendor/bin/log -t "$scriptName" -p i "Loading LKM SoC-Vendor modules started"
|
||||
|
||||
do_insmod /vendor/lib/modules/usb-storage.ko
|
||||
#do_insmod /vendor/lib/modules/uas.ko
|
||||
do_insmod /vendor/lib/modules/cdc-acm.ko
|
||||
|
||||
do_insmod /vendor/lib/modules/ozwpan.ko
|
||||
do_insmod /vendor/lib/modules/hid-nvidia-blake.ko
|
||||
do_insmod /vendor/lib/modules/hid-jarvis-remote.ko
|
||||
do_insmod /vendor/lib/modules/hid-xinmo.ko
|
||||
do_insmod /vendor/lib/modules/hid-betopff.ko
|
||||
|
||||
/vendor/bin/log -t "$scriptName" -p i "Loading LKM SoC-Vendor modules completed"
|
||||
}
|
||||
|
||||
#--------------------------------------------------------------------------------
|
||||
|
||||
# if [ "$1" = "recovery" ]; then
|
||||
# Use BoardConfig.mk and init.recovery.lkm*.rc instead
|
||||
if [ "$1" = "early" ]; then
|
||||
early_load
|
||||
else
|
||||
normal_load
|
||||
fi
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/vendor/bin/sh
|
||||
|
||||
/vendor/bin/modprobe -a -d /vendor/lib/modules brcmfmac;
|
||||
+98
@@ -0,0 +1,98 @@
|
||||
#
|
||||
# Copyright (C) 2022 The LineageOS 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.
|
||||
#
|
||||
|
||||
# Tegra pcie host
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD := \
|
||||
pci_tegra
|
||||
|
||||
# Proprietary gpu driver
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
nvgpu
|
||||
|
||||
# Bluedroid power management
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
bluedroid_pm
|
||||
|
||||
# Tegra hdmi audio
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
snd_hda_tegra
|
||||
|
||||
# Tegra audio processing engine
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
snd_soc_tegra210_alt_xbar \
|
||||
snd_soc_tegra210_alt_admaif \
|
||||
snd_soc_tegra210_alt_sfc \
|
||||
snd_soc_tegra210_alt_i2s \
|
||||
snd_soc_tegra210_alt_mixer \
|
||||
snd_soc_tegra210_alt_afc \
|
||||
snd_soc_tegra210_alt_adx \
|
||||
snd_soc_tegra210_alt_amx \
|
||||
snd_soc_tegra210_alt_dmic \
|
||||
snd_soc_tegra210_alt_mvc \
|
||||
snd_soc_tegra210_alt_ope \
|
||||
snd_soc_tegra_machine_driver
|
||||
|
||||
# Userspace aes crypto access
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
tegra_cryptodev
|
||||
|
||||
# Input cpufreq boost
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
input_cfboost
|
||||
|
||||
# JoyCons
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
joycon-serdev
|
||||
|
||||
# Fan
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
pwm_fan
|
||||
|
||||
# Power Monitor
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
ina3221
|
||||
|
||||
# TV Tuners
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
videobuf_dvb \
|
||||
lgdt3306a \
|
||||
si2168 \
|
||||
si2157 \
|
||||
lgdt3305 \
|
||||
tda18272 \
|
||||
em28xx_dvb \
|
||||
em28xx_rc \
|
||||
cx25840 \
|
||||
cx231xx_dvb
|
||||
|
||||
# USB Storage
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
usb_storage
|
||||
|
||||
# USB Modem
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
cdc_acm
|
||||
|
||||
# Nvidia Controllers
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
ozwpan \
|
||||
hid_nvidia_blake \
|
||||
hid_jarvis_remote
|
||||
|
||||
# Misc Controllers
|
||||
BOARD_VENDOR_KERNEL_MODULES_LOAD += \
|
||||
hid_xinmo \
|
||||
hid_betopff
|
||||
Reference in new issue
Block a user