On Mon, Feb 2, 2015 at 7:34 AM, Lisa Nguyen <lisa.ngu...@linaro.org> wrote: > Before searching for specific governors, check to see if the > scaling_available_governors attribute exists first. It is to add > more error handling.
This doesn't seem to handle interactive governor that is usually the default on Android. > Signed-off-by: Lisa Nguyen <lisa.ngu...@linaro.org> > --- > cpufreq/cpufreq_05.sh | 83 > +++++++++++++++++++++++++++---------------------- > 1 file changed, 45 insertions(+), 38 deletions(-) > > diff --git a/cpufreq/cpufreq_05.sh b/cpufreq/cpufreq_05.sh > index 862d310..8d37bae 100755 > --- a/cpufreq/cpufreq_05.sh > +++ b/cpufreq/cpufreq_05.sh > @@ -58,51 +58,58 @@ check_governor() { > check "'$gov' directory exists" "test -d $GOV_PATH" > } > > -supported=$(cat $CPU_PATH/cpu0/cpufreq/scaling_available_governors | grep > "ondemand") > -if [ -z "$supported" ]; then > - log_skip "ondemand not supported" > -else > - for cpu in $cpus; do > - switch_ondemand $cpu > - done > - check_governor $cpu 'ondemand' > -fi > +scaling_govs=$(cat $CPU_PATH/cpu0/cpufreq/scaling_available_governors) > +if [ -n "$scaling_govs" ]; then > + supported=$(cat $CPU_PATH/cpu0/cpufreq/scaling_available_governors | > grep "ondemand") > + if [ -z "$supported" ]; then > + log_skip "ondemand not supported" > + else > + for cpu in $cpus; do > + switch_ondemand $cpu > + done > + check_governor $cpu 'ondemand' > + fi > > -supported=$(cat $CPU_PATH/cpu0/cpufreq/scaling_available_governors | grep > "conservative") > -if [ -z "$supported" ]; then > - log_skip "conservative not supported" > -else > - for cpu in $cpus; do > - switch_conservative $cpu > - done > - check_governor $cpu 'conservative' > -fi > + supported=$(cat $CPU_PATH/cpu0/cpufreq/scaling_available_governors | > grep "conservative") > + if [ -z "$supported" ]; then > + log_skip "conservative not supported" > + else > + for cpu in $cpus; do > + switch_conservative $cpu > + done > + check_governor $cpu 'conservative' > + fi > > -supported=$(cat $CPU_PATH/cpu0/cpufreq/scaling_available_governors | grep > "userspace") > -if [ -z "$supported" ]; then > - log_skip "userspace not supported" > -else > - for cpu in $cpus; do > - switch_userspace $cpu > - done > + supported=$(cat $CPU_PATH/cpu0/cpufreq/scaling_available_governors | > grep "userspace") > + if [ -z "$supported" ]; then > + log_skip "userspace not supported" > + else > + for cpu in $cpus; do > + switch_userspace $cpu > + done > > check "'ondemand' directory is not there" "test ! -d > $CPU_PATH/cpufreq/ondemand" > check "'conservative' directory is not there" "test ! -d > $CPU_PATH/cpufreq/conservative" > -fi > + fi > > -# if more than one cpu, combine governors > -nrcpus=$(ls $CPU_PATH | grep "cpu[0-9].*" | wc -l) > -if [ $nrcpus -gt 1 ]; then > - affected=$(cat $CPU_PATH/cpu0/cpufreq/affected_cpus | grep 1) > - if [ -z $affected ]; then > - switch_ondemand cpu0 > - switch_conservative cpu1 > - check_governor cpu0 'ondemand' > - check_governor cpu1 'conservative' > - else > - log_skip "combine governors not supported" > + # if more than one cpu, combine governors > + nrcpus=$(ls $CPU_PATH | grep "cpu[0-9].*" | wc -l) > + if [ $nrcpus -gt 1 ]; then > + affected=$(cat $CPU_PATH/cpu0/cpufreq/affected_cpus | grep 1) > + if [ -z $affected ]; then > + switch_ondemand cpu0 > + switch_conservative cpu1 > + check_governor cpu0 'ondemand' > + check_governor cpu1 'conservative' > + else > + log_skip "combine governors not supported" > + fi > fi > + > + restore_governors > + > +else > + log_skip "scaling available governors not available" > fi > > -restore_governors > test_status_show > -- > 1.7.9.5 > _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev