Linux 4.19.133
[linux/fpc-iii.git] / tools / testing / selftests / cpufreq / cpu.sh
blob39fdcdfb8e97f413068d31dcc68da33b879b6ad9
1 #!/bin/bash
2 # SPDX-License-Identifier: GPL-2.0
4 # CPU helpers
6 # protect against multiple inclusion
7 if [ $FILE_CPU ]; then
8 return 0
9 else
10 FILE_CPU=DONE
13 source cpufreq.sh
15 for_each_cpu()
17 cpus=$(ls $CPUROOT | grep "cpu[0-9].*")
18 for cpu in $cpus; do
19 $@ $cpu
20 done
23 for_each_non_boot_cpu()
25 cpus=$(ls $CPUROOT | grep "cpu[1-9].*")
26 for cpu in $cpus; do
27 $@ $cpu
28 done
31 #$1: cpu
32 offline_cpu()
34 printf "Offline $1\n"
35 echo 0 > $CPUROOT/$1/online
38 #$1: cpu
39 online_cpu()
41 printf "Online $1\n"
42 echo 1 > $CPUROOT/$1/online
45 #$1: cpu
46 reboot_cpu()
48 offline_cpu $1
49 online_cpu $1
52 # Reboot CPUs
53 # param: number of times we want to run the loop
54 reboot_cpus()
56 printf "** Test: Running ${FUNCNAME[0]} for $1 loops **\n\n"
58 for i in `seq 1 $1`; do
59 for_each_non_boot_cpu offline_cpu
60 for_each_non_boot_cpu online_cpu
61 printf "\n"
62 done
64 printf "\n%s\n\n" "------------------------------------------------"
67 # Prints warning for all CPUs with missing cpufreq directory
68 print_unmanaged_cpus()
70 for_each_cpu cpu_should_have_cpufreq_directory
73 # Counts CPUs with cpufreq directories
74 count_cpufreq_managed_cpus()
76 count=0;
78 for cpu in `ls $CPUROOT | grep "cpu[0-9].*"`; do
79 if [ -d $CPUROOT/$cpu/cpufreq ]; then
80 let count=count+1;
82 done
84 echo $count;