local _hostonly_drvs
find_kernel_modules_external() {
- local _OLDIFS
- local external_pattern="^/"
+ local a
[[ -f "$srcmods/modules.dep" ]] || return 0
- _OLDIFS=$IFS
- IFS=:
- while read a rest; do
- [[ $a =~ $external_pattern ]] || continue
- printf "%s\n" "$a"
+ while IFS=: read -r a _ || [[ $a ]]; do
+ [[ $a =~ ^/ ]] && printf "%s\n" "$a"
done < "$srcmods/modules.dep"
- IFS=$_OLDIFS
}
record_block_dev_drv() {
- for _mod in $(get_dev_module /dev/block/$1); do
+ for _mod in $(get_dev_module /dev/block/"$1"); do
[[ " $_hostonly_drvs " != *$_mod* ]] && _hostonly_drvs+=" $_mod"
done
[[ "$_hostonly_drvs" ]] && return 0
}
install_block_modules_strict() {
- hostonly='' instmods $_hostonly_drvs
+ hostonly='' instmods "$_hostonly_drvs"
}
install_block_modules() {
ehci-hcd ehci-pci ehci-platform \
ohci-hcd ohci-pci \
uhci-hcd \
- xhci-hcd xhci-pci xhci-plat-hcd \
- ${NULL}
+ xhci-hcd xhci-pci xhci-plat-hcd
hostonly=$(optional_hostonly) instmods \
"=drivers/hid" \
"=drivers/input/keyboard" \
"=drivers/pci/host" \
"=drivers/pci/controller" \
- "=drivers/pinctrl" \
- ${NULL}
+ "=drivers/pinctrl"
instmods \
yenta_socket \
"=drivers/usb/misc" \
"=drivers/usb/musb" \
"=drivers/usb/phy" \
- "=drivers/scsi/hisi_sas" \
- ${NULL}
+ "=drivers/scsi/hisi_sas"
fi
find_kernel_modules_external | instmods