#############################################
#           init.insmod.cfg                 #
# This file contains kernel modules to load #
# at init time by init.insmod.sh script     #
#############################################

# Load kernel modules
modprobe|adsp_loader_dlkm.ko apr_dlkm.ko atomic64_test.ko bolero_cdc_dlkm.ko br_netfilter.ko hdmi_dlkm.ko lcd.ko lkdtm.ko llcc_perfmon.ko locktorture.ko machine_dlkm.ko mbhc_dlkm.ko native_dlkm.ko pinctrl_lpi_dlkm.ko platform_dlkm.ko q6_dlkm.ko q6_notifier_dlkm.ko q6_pdr_dlkm.ko rcutorture.ko rx_macro_dlkm.ko snd_event_dlkm.ko stub_dlkm.ko swr_ctrl_dlkm.ko swr_dlkm.ko test_user_copy.ko torture.ko tx_macro_dlkm.ko usf_dlkm.ko va_macro_dlkm.ko wcd938x_dlkm.ko wcd938x_slave_dlkm.ko wcd9xxx_dlkm.ko wcd_core_dlkm.ko wlan.ko wsa881x_dlkm.ko wsa_macro_dlkm.ko

# All modules loaded
setprop|vendor.all.modules.ready

# Boot devices
enable|/sys/kernel/boot_adsp/boot
enable|/sys/kernel/boot_cdsp/boot
enable|/sys/kernel/boot_slpi/boot

# All devices enabled
setporp|vendor.all.devices.ready
