Run config_config befor config_scripts. [Closes: issue776]
[grml-autoconfig.git] / autoconfig.functions
index 637f238..f9a70ba 100755 (executable)
@@ -1375,77 +1375,75 @@ else
 
   # Disclaimer: sorry for the tons of if/then/else... but this makes sure we use:
   # * it only if we have the according kernel modules available
-  # * cpufreq only on laptops (check via /usr/sbin/laptop-detect) and not inside Virtual Box
+  # * cpufreq not inside Virtual Box
   # * current version of /etc/init.d/loadcpufreq from Debian (to stay in sync)
   #   -> parse output of the initscript and output it according to our look'n'feel
   # * our own cpufreq-detect.sh if /etc/init.d/loadcpufreq isn't present
   if ! cpufreq_check ; then
     ewarn "Skipping cpufreq setup as module dependencies are not fulfilled." ; eend 1
   else
-    if /usr/sbin/laptop-detect 1>/dev/null 2>&1 ; then
-       # Virtual Box supports ACPI and laptop-detect returns with '0', so check for it:
-       if [ -r /proc/acpi/battery/BAT0/info ] ; then
-          if grep -q 'OEM info:                innotek' /proc/acpi/battery/BAT0/info ; then
-             einfo 'Virtual Box detected, skipping cpufreq setup.' ; eend 0
-             return 0
-          fi
-       fi
-       einfo "Detected Laptop - trying to use cpu frequency scaling:"
-       eindent
-       if [ -x /etc/init.d/loadcpufreq ] ; then
-          SKIP_CPU_GOVERNOR=''
-          LOADCPUFREQ=$(mktemp)
-          /etc/init.d/loadcpufreq start >"$LOADCPUFREQ" 2>&1 ; RC=$?
-          if grep -q FATAL "$LOADCPUFREQ" ; then
-             eindent
-               SKIP_CPU_GOVERNOR=1
-               oldIFS="$IFS"
-               IFS="
+     # Virtual Box supports ACPI and laptop-detect would return with '0', so check for it:
+     if [ -r /proc/acpi/battery/BAT0/info ] ; then
+        if grep -q 'OEM info:                innotek' /proc/acpi/battery/BAT0/info ; then
+           einfo 'Virtual Box detected, skipping cpufreq setup.' ; eend 0
+           return 0
+        fi
+     fi
+     einfo "Trying to set up cpu frequency scaling:"
+     eindent
+     if [ -x /etc/init.d/loadcpufreq ] ; then
+        SKIP_CPU_GOVERNOR=''
+        LOADCPUFREQ=$(mktemp)
+        /etc/init.d/loadcpufreq start >"$LOADCPUFREQ" 2>&1 ; RC=$?
+        if grep -q FATAL "$LOADCPUFREQ" ; then
+           eindent
+             SKIP_CPU_GOVERNOR=1
+             oldIFS="$IFS"
+             IFS="
 "
-                for line in $(grep FATAL "$LOADCPUFREQ" | sed 's/.*FATAL: //; s/ (.*)//') ; do
-                    eerror "$line" ; eend $RC
-                done
-                IFS="$oldIFS"
-             eoutdent
-           elif grep -q done "$LOADCPUFREQ" ; then
-             MODULE=$(grep done "$LOADCPUFREQ" | sed 's/.*done (\(.*\))./\1/')
-             if [ -n "$MODULE" -a "$MODULE" != none ]; then
-                einfo "Loading cpufreq kernel module $MODULE" ; eend 0
-             else
-                ewarn "Could not find an appropriate kernel module for cpu frequency scaling." ; eend 1
-             fi
-          fi
-          rm -f $LOADCPUFREQ
-       elif [ -r /usr/bin/cpufreq-detect.sh ] ; then
-          . /usr/bin/cpufreq-detect.sh
-          if [ -n "$MODULE" -a "$MODULE" != none ]; then
-             einfo "Loading modules ${MODULE}"
-             modprobe "$MODULE" 1>>$DEBUG || modprobe "$MODULE_FALLBACK" 1>>$DEBUG
-             RC=$?
-             if [[ $RC == 0 ]]; then
-                eend 0
-             else
-                SKIP_CPU_GOVERNOR=1
-                eend $1
-             fi
-          else
-             ewarn "Could not detect an appropriate CPU for use with cpu frequency scaling - skipping." && eend 1
-          fi # $MODULE
-       fi # loadcpufreq
-
-       if [ -z "$SKIP_CPU_GOVERNOR" ] ; then
-          einfo "Loading cpufreq_ondemand, setting ondemand governor"
-          if modprobe cpufreq_ondemand ; RC=$? ; then
-             for file in $(find /sys/devices/system/cpu/ -name scaling_governor 2>/dev/null) ; do
-                 echo ondemand > $file
-             done
-          fi
-          eend $RC
-       fi # cpu-governor
+              for line in $(grep FATAL "$LOADCPUFREQ" | sed 's/.*FATAL: //; s/ (.*)//') ; do
+                  eerror "$line" ; eend $RC
+              done
+              IFS="$oldIFS"
+           eoutdent
+         elif grep -q done "$LOADCPUFREQ" ; then
+           MODULE=$(grep done "$LOADCPUFREQ" | sed 's/.*done (\(.*\))./\1/')
+           if [ -n "$MODULE" -a "$MODULE" != none ]; then
+              einfo "Loading cpufreq kernel module $MODULE" ; eend 0
+           else
+              ewarn "Could not find an appropriate kernel module for cpu frequency scaling." ; eend 1
+           fi
+        fi
+        rm -f $LOADCPUFREQ
+     elif [ -r /usr/bin/cpufreq-detect.sh ] ; then
+        . /usr/bin/cpufreq-detect.sh
+        if [ -n "$MODULE" -a "$MODULE" != none ]; then
+           einfo "Loading modules ${MODULE}"
+           modprobe "$MODULE" 1>>$DEBUG || modprobe "$MODULE_FALLBACK" 1>>$DEBUG
+           RC=$?
+           if [[ $RC == 0 ]]; then
+              eend 0
+           else
+              SKIP_CPU_GOVERNOR=1
+              eend $1
+           fi
+        else
+           ewarn "Could not detect an appropriate CPU for use with cpu frequency scaling - skipping." && eend 1
+        fi # $MODULE
+     fi # loadcpufreq
+
+     if [ -z "$SKIP_CPU_GOVERNOR" ] ; then
+        einfo "Loading cpufreq_ondemand, setting ondemand governor"
+        if modprobe cpufreq_ondemand ; RC=$? ; then
+           for file in $(find /sys/devices/system/cpu/ -name scaling_governor 2>/dev/null) ; do
+               echo ondemand > $file
+           done
+        fi
+        eend $RC
+     fi # cpu-governor
 
-       eoutdent
+     eoutdent
 
-    fi # laptop-detect
   fi # cpufreq_check
 fi # checkbootparam nocpu
 }