diff --git a/scripts/depmod.sh b/scripts/depmod.sh index e22da27fe13e..bd2af7a306f0 100755 --- a/scripts/depmod.sh +++ b/scripts/depmod.sh @@ -29,4 +29,27 @@ set -- -ae -F System.map if test -n "$INSTALL_MOD_PATH"; then set -- "$@" -b "$INSTALL_MOD_PATH" fi -exec "$DEPMOD" "$@" "$KERNELRELEASE" +depmod_executed=false +exit_status=0 +for config_file in $INSTALL_MOD_PATH/nv-disp-module-configs/nv-depmod-*-display.conf +do + if test -f $config_file; then + config_file_name=$(basename -- "$config_file") + flavor=$(echo ${config_file_name} | cut -d'-' -f3) + + exec "$DEPMOD" "$@" "$KERNELRELEASE" -C "$config_file" + + exit_status=$? + if [ "$exit_status" -ne 0 ]; then + break + fi + + cp "$INSTALL_MOD_PATH/lib/modules/$KERNELRELEASE/modules.dep" "$INSTALL_MOD_PATH/nv-disp-module-configs/$flavor-modules.dep" + cp "$INSTALL_MOD_PATH/lib/modules/$KERNELRELEASE/modules.dep.bin" "$INSTALL_MOD_PATH/nv-disp-module-configs/$flavor-modules.dep.bin" + depmod_executed=true + fi +done + +if [ "$exit_status" -eq 0 ] && [ "$depmod_executed" = false ]; then + exec "$DEPMOD" "$@" "$KERNELRELEASE" +fi