1#!/bin/bash 2# SPDX-License-Identifier: GPL-2.0 3# 4# CPU helpers 5 6# protect against multiple inclusion 7if [ $FILE_CPU ]; then 8 return 0 9else 10 FILE_CPU=DONE 11fi 12 13source cpufreq.sh 14 15for_each_cpu() 16{ 17 cpus=$(ls $CPUROOT | grep "cpu[0-9].*") 18 for cpu in $cpus; do 19 $@ $cpu 20 done 21} 22 23for_each_non_boot_cpu() 24{ 25 cpus=$(ls $CPUROOT | grep "cpu[1-9].*") 26 for cpu in $cpus; do 27 $@ $cpu 28 done 29} 30 31#$1: cpu 32offline_cpu() 33{ 34 printf "Offline $1\n" 35 echo 0 > $CPUROOT/$1/online 36} 37 38#$1: cpu 39online_cpu() 40{ 41 printf "Online $1\n" 42 echo 1 > $CPUROOT/$1/online 43} 44 45#$1: cpu 46reboot_cpu() 47{ 48 offline_cpu $1 49 online_cpu $1 50} 51 52# Reboot CPUs 53# param: number of times we want to run the loop 54reboot_cpus() 55{ 56 printf "** Test: Running ${FUNCNAME[0]} for $1 loops **\n\n" 57 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 63 64 printf "\n%s\n\n" "------------------------------------------------" 65} 66 67# Prints warning for all CPUs with missing cpufreq directory 68print_unmanaged_cpus() 69{ 70 for_each_cpu cpu_should_have_cpufreq_directory 71} 72 73# Counts CPUs with cpufreq directories 74count_cpufreq_managed_cpus() 75{ 76 count=0; 77 78 for cpu in `ls $CPUROOT | grep "cpu[0-9].*"`; do 79 if [ -d $CPUROOT/$cpu/cpufreq ]; then 80 let count=count+1; 81 fi 82 done 83 84 echo $count; 85} 86