]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/initscripts/init.d/cpufreq
Removed unsupported p4-clockmod from cpufreq moduleloader.
[people/pmueller/ipfire-2.x.git] / src / initscripts / init.d / cpufreq
index a316833b726cad4fdccb46b0f494d0b1aa9676f7..093b8b129d701e5b0fde53749e09c4bf660797a6 100644 (file)
@@ -6,7 +6,7 @@
 #
 # Authors     : Arne Fitzenreiter - arne_f@ipfire.org
 #
-# Version     : 00.00
+# Version     : 01.01
 #
 # Notes       :
 #
 
 case "${1}" in
        start)
-               boot_mesg -n "Starting cpufreq ... "
+               boot_mesg -n "Starting cpufreq... "
 
                # try cpufreq hardware depend modules
-               for module in acpi-cpufreq cpufreq-nforce2 e-powersaver \
-                   gx-suspmod longhaul longrun p4-clockmod powernow-k6 \
-                   powernow-k7 powernow-k8 speedstep-centrino speedstep-ich \
-                   speedstep-smi; do
-                   modprobe $module > /dev/null 2>&1;
-                   if [ ${?} = 0 ]; then
-                       boot_mesg -n "$SUCCESS$module$NORMAL "
-                   fi
+               for i in $(find /lib/modules/$(uname -r)/kernel/arch/x86/kernel/cpu/cpufreq \
+                          ! -name speedstep-lib.ko ! -name p4-clockmod.ko | sort -d -r); do
+                       module=$(basename $i | cut -d. -f1);
+                       modprobe $module > /dev/null 2>&1;
+                       if [ ${?} = 0 ]; then
+                           boot_mesg -n "$SUCCESS$module$NORMAL "
+                       fi
                done
                boot_mesg ""
 
@@ -37,11 +36,19 @@ case "${1}" in
                modprobe cpufreq_powersave
                modprobe cpufreq_userspace
 
-               # Set the governor to ondemand 
+               CPUCOUNT=`ls /sys/devices/system/cpu/cpu*/cpufreq/affected_cpus 2> /dev/null | wc -l `;
+               let CPUCOUNT-=1
+               # Set the governor to ondemand to test if it works 
                cpufreq-set -g ondemand
                if [ ${?} = 0 ]; then
                    # activate cpufreq collectd module
-                   sed -i -e "s|#LoadPlugin cpufreq|LoadPlugin cpufreq|g" /etc/collectd.conf
+                   sed -i -e "s|^#LoadPlugin cpufreq|LoadPlugin cpufreq|g" /etc/collectd.conf
+
+                   # Set the governor to ondemand for all cpus 
+                   for i in `seq 0 $CPUCOUNT`;
+                   do
+                       cpufreq-set -c $i -g ondemand
+                   done
                    echo_ok;
                else
                    echo_failure;
@@ -55,3 +62,5 @@ case "${1}" in
 esac
 
 # End $rc_base/init.d/cpufreq
+
+