####################################################
#           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|mailbox-wc.ko
modprobe|aoc_core.ko
modprobe|aoc_channel_dev.ko
modprobe|aoc_control_dev.ko
modprobe|snd-soc-wm-adsp.ko
modprobe|snd-soc-cs35l41.ko
modprobe|aoc_char_dev.ko
modprobe|aoc_usb_driver.ko
modprobe|heatmap.ko
modprobe|gsa.ko
modprobe|gsa_gsc.ko
modprobe|abrolhos.ko
modprobe|haptics-cs40l2x.ko
modprobe|snd_soc_cs40l2x.ko
modprobe|slg51000-core.ko
modprobe|slg51000-regulator.ko
modprobe|pinctrl-slg51000.ko
modprobe|lwis.ko
modprobe|stmvl53l1.ko
modprobe|st21nfc.ko
# All common modules loaded
setprop|vendor.common.modules.ready
