#!/bin/sh

if [ "$#" == "1" ]; then
	FREQUENCY=$1
fi

if uname -r |grep -q '^2\.6' ; then
	FREQUENCY=${FREQUENCY:-$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq)}
	# To access scaling_setspeed, the scaling_governor must be set to 'userspace'
	# however, reading scaling_governor after setting it will NOT show 'userspace'.
	echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
	echo ${FREQUENCY} > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
	# echo -n "setspeed: requested $FREQUENCY kHz, "
	# echo "actual $(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq)"
else
	FREQUENCY=${FREQUENCY:-$(cat /proc/sys/cpu/0/speed-max)}
	echo Set CPU frequency to $FREQUENCY kHz
	echo ${FREQUENCY} > /proc/sys/cpu/0/speed
	# echo -n "setspeed: requested $FREQUENCY kHz, "
	# echo "actual $(cat proc/sys/cpu/0/speed)"
fi

