Path: blob/master/tools/testing/selftests/cpufreq/cpu.sh
26302 views
#!/bin/bash1# SPDX-License-Identifier: GPL-2.02#3# CPU helpers45# protect against multiple inclusion6if [ $FILE_CPU ]; then7return 08else9FILE_CPU=DONE10fi1112source cpufreq.sh1314for_each_cpu()15{16cpus=$(ls $CPUROOT | grep "cpu[0-9].*")17for cpu in $cpus; do18$@ $cpu19done20}2122for_each_non_boot_cpu()23{24cpus=$(ls $CPUROOT | grep "cpu[1-9].*")25for cpu in $cpus; do26$@ $cpu27done28}2930#$1: cpu31offline_cpu()32{33printf "Offline $1\n"34echo 0 > $CPUROOT/$1/online35}3637#$1: cpu38online_cpu()39{40printf "Online $1\n"41echo 1 > $CPUROOT/$1/online42}4344#$1: cpu45reboot_cpu()46{47offline_cpu $148online_cpu $149}5051# Reboot CPUs52# param: number of times we want to run the loop53reboot_cpus()54{55printf "** Test: Running ${FUNCNAME[0]} for $1 loops **\n\n"5657for i in `seq 1 $1`; do58for_each_non_boot_cpu offline_cpu59for_each_non_boot_cpu online_cpu60printf "\n"61done6263printf "\n%s\n\n" "------------------------------------------------"64}6566# Prints warning for all CPUs with missing cpufreq directory67print_unmanaged_cpus()68{69for_each_cpu cpu_should_have_cpufreq_directory70}7172# Counts CPUs with cpufreq directories73count_cpufreq_managed_cpus()74{75count=0;7677for cpu in `ls $CPUROOT | grep "cpu[0-9].*"`; do78if [ -d $CPUROOT/$cpu/cpufreq ]; then79let count=count+1;80fi81done8283echo $count;84}858687