diff options
| author | Dominik Brodowski <linux@dominikbrodowski.net> | 2011-03-27 09:04:46 -0400 |
|---|---|---|
| committer | Dave Jones <davej@redhat.com> | 2011-05-04 11:50:57 -0400 |
| commit | 2d06d8c49afdcc9bb35a85039fa50f0fe35bd40e (patch) | |
| tree | d933a68fc71f6e2c3b95b744a87fa1d817bea3d6 /drivers | |
| parent | 27ecddc2a9f99ce4ac9a59a0acd77f7100b6d034 (diff) | |
[CPUFREQ] use dynamic debug instead of custom infrastructure
With dynamic debug having gained the capability to report debug messages
also during the boot process, it offers a far superior interface for
debug messages than the custom cpufreq infrastructure. As a first step,
remove the old cpufreq_debug_printk() function and replace it with a call
to the generic pr_debug() function.
How can dynamic debug be used on cpufreq? You need a kernel which has
CONFIG_DYNAMIC_DEBUG enabled.
To enabled debugging during runtime, mount debugfs and
$ echo -n 'module cpufreq +p' > /sys/kernel/debug/dynamic_debug/control
for debugging the complete "cpufreq" module. To achieve the same goal during
boot, append
ddebug_query="module cpufreq +p"
as a boot parameter to the kernel of your choice.
For more detailled instructions, please see
Documentation/dynamic-debug-howto.txt
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/acpi/processor_perflib.c | 6 | ||||
| -rw-r--r-- | drivers/cpufreq/Kconfig | 13 | ||||
| -rw-r--r-- | drivers/cpufreq/cpufreq.c | 180 | ||||
| -rw-r--r-- | drivers/cpufreq/cpufreq_performance.c | 5 | ||||
| -rw-r--r-- | drivers/cpufreq/cpufreq_powersave.c | 5 | ||||
| -rw-r--r-- | drivers/cpufreq/cpufreq_userspace.c | 13 | ||||
| -rw-r--r-- | drivers/cpufreq/freq_table.c | 19 |
7 files changed, 53 insertions, 188 deletions
diff --git a/drivers/acpi/processor_perflib.c b/drivers/acpi/processor_perflib.c index 3a73a93596e8..85b32376dad7 100644 --- a/drivers/acpi/processor_perflib.c +++ b/drivers/acpi/processor_perflib.c | |||
| @@ -49,10 +49,6 @@ ACPI_MODULE_NAME("processor_perflib"); | |||
| 49 | 49 | ||
| 50 | static DEFINE_MUTEX(performance_mutex); | 50 | static DEFINE_MUTEX(performance_mutex); |
| 51 | 51 | ||
| 52 | /* Use cpufreq debug layer for _PPC changes. */ | ||
| 53 | #define cpufreq_printk(msg...) cpufreq_debug_printk(CPUFREQ_DEBUG_CORE, \ | ||
| 54 | "cpufreq-core", msg) | ||
| 55 | |||
| 56 | /* | 52 | /* |
| 57 | * _PPC support is implemented as a CPUfreq policy notifier: | 53 | * _PPC support is implemented as a CPUfreq policy notifier: |
| 58 | * This means each time a CPUfreq driver registered also with | 54 | * This means each time a CPUfreq driver registered also with |
| @@ -145,7 +141,7 @@ static int acpi_processor_get_platform_limit(struct acpi_processor *pr) | |||
| 145 | return -ENODEV; | 141 | return -ENODEV; |
| 146 | } | 142 | } |
| 147 | 143 | ||
| 148 | cpufreq_printk("CPU %d: _PPC is %d - frequency %s limited\n", pr->id, | 144 | pr_debug("CPU %d: _PPC is %d - frequency %s limited\n", pr->id, |
| 149 | (int)ppc, ppc ? "" : "not"); | 145 | (int)ppc, ppc ? "" : "not"); |
| 150 | 146 | ||
| 151 | pr->performance_platform_limit = (int)ppc; | 147 | pr->performance_platform_limit = (int)ppc; |
diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig index ca8ee8093d6c..b78baa547ef5 100644 --- a/drivers/cpufreq/Kconfig +++ b/drivers/cpufreq/Kconfig | |||
| @@ -18,19 +18,6 @@ if CPU_FREQ | |||
| 18 | config CPU_FREQ_TABLE | 18 | config CPU_FREQ_TABLE |
| 19 | tristate | 19 | tristate |
| 20 | 20 | ||
| 21 | config CPU_FREQ_DEBUG | ||
| 22 | bool "Enable CPUfreq debugging" | ||
| 23 | help | ||
| 24 | Say Y here to enable CPUfreq subsystem (including drivers) | ||
| 25 | debugging. You will need to activate it via the kernel | ||
| 26 | command line by passing | ||
| 27 | cpufreq.debug=<value> | ||
| 28 | |||
| 29 | To get <value>, add | ||
| 30 | 1 to activate CPUfreq core debugging, | ||
| 31 | 2 to activate CPUfreq drivers debugging, and | ||
| 32 | 4 to activate CPUfreq governor debugging | ||
| 33 | |||
| 34 | config CPU_FREQ_STAT | 21 | config CPU_FREQ_STAT |
| 35 | tristate "CPU frequency translation statistics" | 22 | tristate "CPU frequency translation statistics" |
| 36 | select CPU_FREQ_TABLE | 23 | select CPU_FREQ_TABLE |
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 7c10f96c5ae9..1e08af43ae72 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c | |||
| @@ -32,9 +32,6 @@ | |||
| 32 | 32 | ||
| 33 | #include <trace/events/power.h> | 33 | #include <trace/events/power.h> |
| 34 | 34 | ||
| 35 | #define dprintk(msg...) cpufreq_debug_printk(CPUFREQ_DEBUG_CORE, \ | ||
| 36 | "cpufreq-core", msg) | ||
| 37 | |||
| 38 | /** | 35 | /** |
| 39 | * The "cpufreq driver" - the arch- or hardware-dependent low | 36 | * The "cpufreq driver" - the arch- or hardware-dependent low |
| 40 | * level driver of CPUFreq support, and its spinlock. This lock | 37 | * level driver of CPUFreq support, and its spinlock. This lock |
| @@ -181,93 +178,6 @@ EXPORT_SYMBOL_GPL(cpufreq_cpu_put); | |||
| 181 | 178 | ||
| 182 | 179 | ||
| 183 | /********************************************************************* | 180 | /********************************************************************* |
| 184 | * UNIFIED DEBUG HELPERS * | ||
| 185 | *********************************************************************/ | ||
| 186 | #ifdef CONFIG_CPU_FREQ_DEBUG | ||
| 187 | |||
| 188 | /* what part(s) of the CPUfreq subsystem are debugged? */ | ||
| 189 | static unsigned int debug; | ||
| 190 | |||
| 191 | /* is the debug output ratelimit'ed using printk_ratelimit? User can | ||
| 192 | * set or modify this value. | ||
| 193 | */ | ||
| 194 | static unsigned int debug_ratelimit = 1; | ||
| 195 | |||
| 196 | /* is the printk_ratelimit'ing enabled? It's enabled after a successful | ||
| 197 | * loading of a cpufreq driver, temporarily disabled when a new policy | ||
| 198 | * is set, and disabled upon cpufreq driver removal | ||
| 199 | */ | ||
| 200 | static unsigned int disable_ratelimit = 1; | ||
| 201 | static DEFINE_SPINLOCK(disable_ratelimit_lock); | ||
| 202 | |||
| 203 | static void cpufreq_debug_enable_ratelimit(void) | ||
| 204 | { | ||
| 205 | unsigned long flags; | ||
| 206 | |||
| 207 | spin_lock_irqsave(&disable_ratelimit_lock, flags); | ||
| 208 | if (disable_ratelimit) | ||
| 209 | disable_ratelimit--; | ||
| 210 | spin_unlock_irqrestore(&disable_ratelimit_lock, flags); | ||
| 211 | } | ||
| 212 | |||
| 213 | static void cpufreq_debug_disable_ratelimit(void) | ||
| 214 | { | ||
| 215 | unsigned long flags; | ||
| 216 | |||
| 217 | spin_lock_irqsave(&disable_ratelimit_lock, flags); | ||
| 218 | disable_ratelimit++; | ||
| 219 | spin_unlock_irqrestore(&disable_ratelimit_lock, flags); | ||
| 220 | } | ||
| 221 | |||
| 222 | void cpufreq_debug_printk(unsigned int type, const char *prefix, | ||
| 223 | const char *fmt, ...) | ||
| 224 | { | ||
| 225 | char s[256]; | ||
| 226 | va_list args; | ||
| 227 | unsigned int len; | ||
| 228 | unsigned long flags; | ||
| 229 | |||
| 230 | WARN_ON(!prefix); | ||
| 231 | if (type & debug) { | ||
| 232 | spin_lock_irqsave(&disable_ratelimit_lock, flags); | ||
| 233 | if (!disable_ratelimit && debug_ratelimit | ||
| 234 | && !printk_ratelimit()) { | ||
| 235 | spin_unlock_irqrestore(&disable_ratelimit_lock, flags); | ||
| 236 | return; | ||
| 237 | } | ||
| 238 | spin_unlock_irqrestore(&disable_ratelimit_lock, flags); | ||
| 239 | |||
| 240 | len = snprintf(s, 256, KERN_DEBUG "%s: ", prefix); | ||
| 241 | |||
| 242 | va_start(args, fmt); | ||
| 243 | len += vsnprintf(&s[len], (256 - len), fmt, args); | ||
| 244 | va_end(args); | ||
| 245 | |||
| 246 | printk(s); | ||
| 247 | |||
| 248 | WARN_ON(len < 5); | ||
| 249 | } | ||
| 250 | } | ||
| 251 | EXPORT_SYMBOL(cpufreq_debug_printk); | ||
| 252 | |||
| 253 | |||
| 254 | module_param(debug, uint, 0644); | ||
| 255 | MODULE_PARM_DESC(debug, "CPUfreq debugging: add 1 to debug core," | ||
| 256 | " 2 to debug drivers, and 4 to debug governors."); | ||
| 257 | |||
| 258 | module_param(debug_ratelimit, uint, 0644); | ||
| 259 | MODULE_PARM_DESC(debug_ratelimit, "CPUfreq debugging:" | ||
| 260 | " set to 0 to disable ratelimiting."); | ||
| 261 | |||
| 262 | #else /* !CONFIG_CPU_FREQ_DEBUG */ | ||
| 263 | |||
| 264 | static inline void cpufreq_debug_enable_ratelimit(void) { return; } | ||
| 265 | static inline void cpufreq_debug_disable_ratelimit(void) { return; } | ||
| 266 | |||
| 267 | #endif /* CONFIG_CPU_FREQ_DEBUG */ | ||
| 268 | |||
| 269 | |||
| 270 | /********************************************************************* | ||
| 271 | * EXTERNALLY AFFECTING FREQUENCY CHANGES * | 181 | * EXTERNALLY AFFECTING FREQUENCY CHANGES * |
| 272 | *********************************************************************/ | 182 | *********************************************************************/ |
| 273 | 183 | ||
| @@ -291,7 +201,7 @@ static void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci) | |||
| 291 | if (!l_p_j_ref_freq) { | 201 | if (!l_p_j_ref_freq) { |
| 292 | l_p_j_ref = loops_per_jiffy; | 202 | l_p_j_ref = loops_per_jiffy; |
| 293 | l_p_j_ref_freq = ci->old; | 203 | l_p_j_ref_freq = ci->old; |
| 294 | dprintk("saving %lu as reference value for loops_per_jiffy; " | 204 | pr_debug("saving %lu as reference value for loops_per_jiffy; " |
| 295 | "freq is %u kHz\n", l_p_j_ref, l_p_j_ref_freq); | 205 | "freq is %u kHz\n", l_p_j_ref, l_p_j_ref_freq); |
| 296 | } | 206 | } |
| 297 | if ((val == CPUFREQ_PRECHANGE && ci->old < ci->new) || | 207 | if ((val == CPUFREQ_PRECHANGE && ci->old < ci->new) || |
| @@ -299,7 +209,7 @@ static void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci) | |||
| 299 | (val == CPUFREQ_RESUMECHANGE || val == CPUFREQ_SUSPENDCHANGE)) { | 209 | (val == CPUFREQ_RESUMECHANGE || val == CPUFREQ_SUSPENDCHANGE)) { |
| 300 | loops_per_jiffy = cpufreq_scale(l_p_j_ref, l_p_j_ref_freq, | 210 | loops_per_jiffy = cpufreq_scale(l_p_j_ref, l_p_j_ref_freq, |
| 301 | ci->new); | 211 | ci->new); |
| 302 | dprintk("scaling loops_per_jiffy to %lu " | 212 | pr_debug("scaling loops_per_jiffy to %lu " |
| 303 | "for frequency %u kHz\n", loops_per_jiffy, ci->new); | 213 | "for frequency %u kHz\n", loops_per_jiffy, ci->new); |
| 304 | } | 214 | } |
| 305 | } | 215 | } |
| @@ -326,7 +236,7 @@ void cpufreq_notify_transition(struct cpufreq_freqs *freqs, unsigned int state) | |||
| 326 | BUG_ON(irqs_disabled()); | 236 | BUG_ON(irqs_disabled()); |
| 327 | 237 | ||
| 328 | freqs->flags = cpufreq_driver->flags; | 238 | freqs->flags = cpufreq_driver->flags; |
| 329 | dprintk("notification %u of frequency transition to %u kHz\n", | 239 | pr_debug("notification %u of frequency transition to %u kHz\n", |
| 330 | state, freqs->new); | 240 | state, freqs->new); |
| 331 | 241 | ||
| 332 | policy = per_cpu(cpufreq_cpu_data, freqs->cpu); | 242 | policy = per_cpu(cpufreq_cpu_data, freqs->cpu); |
| @@ -340,7 +250,7 @@ void cpufreq_notify_transition(struct cpufreq_freqs *freqs, unsigned int state) | |||
| 340 | if (!(cpufreq_driver->flags & CPUFREQ_CONST_LOOPS)) { | 250 | if (!(cpufreq_driver->flags & CPUFREQ_CONST_LOOPS)) { |
| 341 | if ((policy) && (policy->cpu == freqs->cpu) && | 251 | if ((policy) && (policy->cpu == freqs->cpu) && |
| 342 | (policy->cur) && (policy->cur != freqs->old)) { | 252 | (policy->cur) && (policy->cur != freqs->old)) { |
| 343 | dprintk("Warning: CPU frequency is" | 253 | pr_debug("Warning: CPU frequency is" |
| 344 | " %u, cpufreq assumed %u kHz.\n", | 254 | " %u, cpufreq assumed %u kHz.\n", |
| 345 | freqs->old, policy->cur); | 255 | freqs->old, policy->cur); |
| 346 | freqs->old = policy->cur; | 256 | freqs->old = policy->cur; |
| @@ -353,7 +263,7 @@ void cpufreq_notify_transition(struct cpufreq_freqs *freqs, unsigned int state) | |||
| 353 | 263 | ||
| 354 | case CPUFREQ_POSTCHANGE: | 264 | case CPUFREQ_POSTCHANGE: |
| 355 | adjust_jiffies(CPUFREQ_POSTCHANGE, freqs); | 265 | adjust_jiffies(CPUFREQ_POSTCHANGE, freqs); |
| 356 | dprintk("FREQ: %lu - CPU: %lu", (unsigned long)freqs->new, | 266 | pr_debug("FREQ: %lu - CPU: %lu", (unsigned long)freqs->new, |
| 357 | (unsigned long)freqs->cpu); | 267 | (unsigned long)freqs->cpu); |
| 358 | trace_power_frequency(POWER_PSTATE, freqs->new, freqs->cpu); | 268 | trace_power_frequency(POWER_PSTATE, freqs->new, freqs->cpu); |
| 359 | trace_cpu_frequency(freqs->new, freqs->cpu); | 269 | trace_cpu_frequency(freqs->new, freqs->cpu); |
| @@ -753,7 +663,7 @@ no_policy: | |||
| 753 | static void cpufreq_sysfs_release(struct kobject *kobj) | 663 | static void cpufreq_sysfs_release(struct kobject *kobj) |
| 754 | { | 664 | { |
| 755 | struct cpufreq_policy *policy = to_policy(kobj); | 665 | struct cpufreq_policy *policy = to_policy(kobj); |
| 756 | dprintk("last reference is dropped\n"); | 666 | pr_debug("last reference is dropped\n"); |
| 757 | complete(&policy->kobj_unregister); | 667 | complete(&policy->kobj_unregister); |
| 758 | } | 668 | } |
| 759 | 669 | ||
| @@ -788,7 +698,7 @@ static int cpufreq_add_dev_policy(unsigned int cpu, | |||
| 788 | gov = __find_governor(per_cpu(cpufreq_cpu_governor, cpu)); | 698 | gov = __find_governor(per_cpu(cpufreq_cpu_governor, cpu)); |
| 789 | if (gov) { | 699 | if (gov) { |
| 790 | policy->governor = gov; | 700 | policy->governor = gov; |
| 791 | dprintk("Restoring governor %s for cpu %d\n", | 701 | pr_debug("Restoring governor %s for cpu %d\n", |
| 792 | policy->governor->name, cpu); | 702 | policy->governor->name, cpu); |
| 793 | } | 703 | } |
| 794 | #endif | 704 | #endif |
| @@ -824,7 +734,7 @@ static int cpufreq_add_dev_policy(unsigned int cpu, | |||
| 824 | per_cpu(cpufreq_cpu_data, cpu) = managed_policy; | 734 | per_cpu(cpufreq_cpu_data, cpu) = managed_policy; |
| 825 | spin_unlock_irqrestore(&cpufreq_driver_lock, flags); | 735 | spin_unlock_irqrestore(&cpufreq_driver_lock, flags); |
| 826 | 736 | ||
| 827 | dprintk("CPU already managed, adding link\n"); | 737 | pr_debug("CPU already managed, adding link\n"); |
| 828 | ret = sysfs_create_link(&sys_dev->kobj, | 738 | ret = sysfs_create_link(&sys_dev->kobj, |
| 829 | &managed_policy->kobj, | 739 | &managed_policy->kobj, |
| 830 | "cpufreq"); | 740 | "cpufreq"); |
| @@ -865,7 +775,7 @@ static int cpufreq_add_dev_symlink(unsigned int cpu, | |||
| 865 | if (!cpu_online(j)) | 775 | if (!cpu_online(j)) |
| 866 | continue; | 776 | continue; |
| 867 | 777 | ||
| 868 | dprintk("CPU %u already managed, adding link\n", j); | 778 | pr_debug("CPU %u already managed, adding link\n", j); |
| 869 | managed_policy = cpufreq_cpu_get(cpu); | 779 | managed_policy = cpufreq_cpu_get(cpu); |
| 870 | cpu_sys_dev = get_cpu_sysdev(j); | 780 | cpu_sys_dev = get_cpu_sysdev(j); |
| 871 | ret = sysfs_create_link(&cpu_sys_dev->kobj, &policy->kobj, | 781 | ret = sysfs_create_link(&cpu_sys_dev->kobj, &policy->kobj, |
| @@ -941,7 +851,7 @@ static int cpufreq_add_dev_interface(unsigned int cpu, | |||
| 941 | policy->user_policy.governor = policy->governor; | 851 | policy->user_policy.governor = policy->governor; |
| 942 | 852 | ||
| 943 | if (ret) { | 853 | if (ret) { |
| 944 | dprintk("setting policy failed\n"); | 854 | pr_debug("setting policy failed\n"); |
| 945 | if (cpufreq_driver->exit) | 855 | if (cpufreq_driver->exit) |
| 946 | cpufreq_driver->exit(policy); | 856 | cpufreq_driver->exit(policy); |
| 947 | } | 857 | } |
| @@ -977,8 +887,7 @@ static int cpufreq_add_dev(struct sys_device *sys_dev) | |||
| 977 | if (cpu_is_offline(cpu)) | 887 | if (cpu_is_offline(cpu)) |
| 978 | return 0; | 888 | return 0; |
| 979 | 889 | ||
| 980 | cpufreq_debug_disable_ratelimit(); | 890 | pr_debug("adding CPU %u\n", cpu); |
| 981 | dprintk("adding CPU %u\n", cpu); | ||
| 982 | 891 | ||
| 983 | #ifdef CONFIG_SMP | 892 | #ifdef CONFIG_SMP |
| 984 | /* check whether a different CPU already registered this | 893 | /* check whether a different CPU already registered this |
| @@ -986,7 +895,6 @@ static int cpufreq_add_dev(struct sys_device *sys_dev) | |||
| 986 | policy = cpufreq_cpu_get(cpu); | 895 | policy = cpufreq_cpu_get(cpu); |
| 987 | if (unlikely(policy)) { | 896 | if (unlikely(policy)) { |
| 988 | cpufreq_cpu_put(policy); | 897 | cpufreq_cpu_put(policy); |
| 989 | cpufreq_debug_enable_ratelimit(); | ||
| 990 | return 0; | 898 | return 0; |
| 991 | } | 899 | } |
| 992 | #endif | 900 | #endif |
| @@ -1037,7 +945,7 @@ static int cpufreq_add_dev(struct sys_device *sys_dev) | |||
| 1037 | */ | 945 | */ |
| 1038 | ret = cpufreq_driver->init(policy); | 946 | ret = cpufreq_driver->init(policy); |
| 1039 | if (ret) { | 947 | if (ret) { |
| 1040 | dprintk("initialization failed\n"); | 948 | pr_debug("initialization failed\n"); |
| 1041 | goto err_unlock_policy; | 949 | goto err_unlock_policy; |
| 1042 | } | 950 | } |
| 1043 | policy->user_policy.min = policy->min; | 951 | policy->user_policy.min = policy->min; |
| @@ -1063,8 +971,7 @@ static int cpufreq_add_dev(struct sys_device *sys_dev) | |||
| 1063 | 971 | ||
| 1064 | kobject_uevent(&policy->kobj, KOBJ_ADD); | 972 | kobject_uevent(&policy->kobj, KOBJ_ADD); |
| 1065 | module_put(cpufreq_driver->owner); | 973 | module_put(cpufreq_driver->owner); |
| 1066 | dprintk("initialization complete\n"); | 974 | pr_debug("initialization complete\n"); |
| 1067 | cpufreq_debug_enable_ratelimit(); | ||
| 1068 | 975 | ||
| 1069 | return 0; | 976 | return 0; |
| 1070 | 977 | ||
| @@ -1088,7 +995,6 @@ err_free_policy: | |||
| 1088 | nomem_out: | 995 | nomem_out: |
| 1089 | module_put(cpufreq_driver->owner); | 996 | module_put(cpufreq_driver->owner); |
| 1090 | module_out: | 997 | module_out: |
| 1091 | cpufreq_debug_enable_ratelimit(); | ||
| 1092 | return ret; | 998 | return ret; |
| 1093 | } | 999 | } |
| 1094 | 1000 | ||
| @@ -1112,15 +1018,13 @@ static int __cpufreq_remove_dev(struct sys_device *sys_dev) | |||
| 1112 | unsigned int j; | 1018 | unsigned int j; |
| 1113 | #endif | 1019 | #endif |
| 1114 | 1020 | ||
| 1115 | cpufreq_debug_disable_ratelimit(); | 1021 | pr_debug("unregistering CPU %u\n", cpu); |
| 1116 | dprintk("unregistering CPU %u\n", cpu); | ||
| 1117 | 1022 | ||
| 1118 | spin_lock_irqsave(&cpufreq_driver_lock, flags); | 1023 | spin_lock_irqsave(&cpufreq_driver_lock, flags); |
| 1119 | data = per_cpu(cpufreq_cpu_data, cpu); | 1024 | data = per_cpu(cpufreq_cpu_data, cpu); |
| 1120 | 1025 | ||
| 1121 | if (!data) { | 1026 | if (!data) { |
| 1122 | spin_unlock_irqrestore(&cpufreq_driver_lock, flags); | 1027 | spin_unlock_irqrestore(&cpufreq_driver_lock, flags); |
| 1123 | cpufreq_debug_enable_ratelimit(); | ||
| 1124 | unlock_policy_rwsem_write(cpu); | 1028 | unlock_policy_rwsem_write(cpu); |
| 1125 | return -EINVAL; | 1029 | return -EINVAL; |
| 1126 | } | 1030 | } |
| @@ -1132,12 +1036,11 @@ static int __cpufreq_remove_dev(struct sys_device *sys_dev) | |||
| 1132 | * only need to unlink, put and exit | 1036 | * only need to unlink, put and exit |
| 1133 | */ | 1037 | */ |
| 1134 | if (unlikely(cpu != data->cpu)) { | 1038 | if (unlikely(cpu != data->cpu)) { |
| 1135 | dprintk("removing link\n"); | 1039 | pr_debug("removing link\n"); |
| 1136 | cpumask_clear_cpu(cpu, data->cpus); | 1040 | cpumask_clear_cpu(cpu, data->cpus); |
| 1137 | spin_unlock_irqrestore(&cpufreq_driver_lock, flags); | 1041 | spin_unlock_irqrestore(&cpufreq_driver_lock, flags); |
| 1138 | kobj = &sys_dev->kobj; | 1042 | kobj = &sys_dev->kobj; |
| 1139 | cpufreq_cpu_put(data); | 1043 | cpufreq_cpu_put(data); |
| 1140 | cpufreq_debug_enable_ratelimit(); | ||
| 1141 | unlock_policy_rwsem_write(cpu); | 1044 | unlock_policy_rwsem_write(cpu); |
| 1142 | sysfs_remove_link(kobj, "cpufreq"); | 1045 | sysfs_remove_link(kobj, "cpufreq"); |
| 1143 | return 0; | 1046 | return 0; |
| @@ -1170,7 +1073,7 @@ static int __cpufreq_remove_dev(struct sys_device *sys_dev) | |||
| 1170 | for_each_cpu(j, data->cpus) { | 1073 | for_each_cpu(j, data->cpus) { |
| 1171 | if (j == cpu) | 1074 | if (j == cpu) |
| 1172 | continue; | 1075 | continue; |
| 1173 | dprintk("removing link for cpu %u\n", j); | 1076 | pr_debug("removing link for cpu %u\n", j); |
| 1174 | #ifdef CONFIG_HOTPLUG_CPU | 1077 | #ifdef CONFIG_HOTPLUG_CPU |
| 1175 | strncpy(per_cpu(cpufreq_cpu_governor, j), | 1078 | strncpy(per_cpu(cpufreq_cpu_governor, j), |
| 1176 | data->governor->name, CPUFREQ_NAME_LEN); | 1079 | data->governor->name, CPUFREQ_NAME_LEN); |
| @@ -1199,17 +1102,15 @@ static int __cpufreq_remove_dev(struct sys_device *sys_dev) | |||
| 1199 | * not referenced anymore by anybody before we proceed with | 1102 | * not referenced anymore by anybody before we proceed with |
| 1200 | * unloading. | 1103 | * unloading. |
| 1201 | */ | 1104 | */ |
| 1202 | dprintk("waiting for dropping of refcount\n"); | 1105 | pr_debug("waiting for dropping of refcount\n"); |
| 1203 | wait_for_completion(cmp); | 1106 | wait_for_completion(cmp); |
| 1204 | dprintk("wait complete\n"); | 1107 | pr_debug("wait complete\n"); |
| 1205 | 1108 | ||
| 1206 | lock_policy_rwsem_write(cpu); | 1109 | lock_policy_rwsem_write(cpu); |
| 1207 | if (cpufreq_driver->exit) | 1110 | if (cpufreq_driver->exit) |
| 1208 | cpufreq_driver->exit(data); | 1111 | cpufreq_driver->exit(data); |
| 1209 | unlock_policy_rwsem_write(cpu); | 1112 | unlock_policy_rwsem_write(cpu); |
| 1210 | 1113 | ||
| 1211 | cpufreq_debug_enable_ratelimit(); | ||
| 1212 | |||
| 1213 | #ifdef CONFIG_HOTPLUG_CPU | 1114 | #ifdef CONFIG_HOTPLUG_CPU |
| 1214 | /* when the CPU which is the parent of the kobj is hotplugged | 1115 | /* when the CPU which is the parent of the kobj is hotplugged |
| 1215 | * offline, check for siblings, and create cpufreq sysfs interface | 1116 | * offline, check for siblings, and create cpufreq sysfs interface |
| @@ -1255,7 +1156,7 @@ static void handle_update(struct work_struct *work) | |||
| 1255 | struct cpufreq_policy *policy = | 1156 | struct cpufreq_policy *policy = |
| 1256 | container_of(work, struct cpufreq_policy, update); | 1157 | container_of(work, struct cpufreq_policy, update); |
| 1257 | unsigned int cpu = policy->cpu; | 1158 | unsigned int cpu = policy->cpu; |
| 1258 | dprintk("handle_update for cpu %u called\n", cpu); | 1159 | pr_debug("handle_update for cpu %u called\n", cpu); |
| 1259 | cpufreq_update_policy(cpu); | 1160 | cpufreq_update_policy(cpu); |
| 1260 | } | 1161 | } |
| 1261 | 1162 | ||
| @@ -1273,7 +1174,7 @@ static void cpufreq_out_of_sync(unsigned int cpu, unsigned int old_freq, | |||
| 1273 | { | 1174 | { |
| 1274 | struct cpufreq_freqs freqs; | 1175 | struct cpufreq_freqs freqs; |
| 1275 | 1176 | ||
| 1276 | dprintk("Warning: CPU frequency out of sync: cpufreq and timing " | 1177 | pr_debug("Warning: CPU frequency out of sync: cpufreq and timing " |
| 1277 | "core thinks of %u, is %u kHz.\n", old_freq, new_freq); | 1178 | "core thinks of %u, is %u kHz.\n", old_freq, new_freq); |
| 1278 | 1179 | ||
| 1279 | freqs.cpu = cpu; | 1180 | freqs.cpu = cpu; |
| @@ -1376,7 +1277,7 @@ static int cpufreq_bp_suspend(void) | |||
| 1376 | int cpu = smp_processor_id(); | 1277 | int cpu = smp_processor_id(); |
| 1377 | struct cpufreq_policy *cpu_policy; | 1278 | struct cpufreq_policy *cpu_policy; |
| 1378 | 1279 | ||
| 1379 | dprintk("suspending cpu %u\n", cpu); | 1280 | pr_debug("suspending cpu %u\n", cpu); |
| 1380 | 1281 | ||
| 1381 | /* If there's no policy for the boot CPU, we have nothing to do. */ | 1282 | /* If there's no policy for the boot CPU, we have nothing to do. */ |
| 1382 | cpu_policy = cpufreq_cpu_get(cpu); | 1283 | cpu_policy = cpufreq_cpu_get(cpu); |
| @@ -1414,7 +1315,7 @@ static void cpufreq_bp_resume(void) | |||
| 1414 | int cpu = smp_processor_id(); | 1315 | int cpu = smp_processor_id(); |
| 1415 | struct cpufreq_policy *cpu_policy; | 1316 | struct cpufreq_policy *cpu_policy; |
| 1416 | 1317 | ||
| 1417 | dprintk("resuming cpu %u\n", cpu); | 1318 | pr_debug("resuming cpu %u\n", cpu); |
| 1418 | 1319 | ||
| 1419 | /* If there's no policy for the boot CPU, we have nothing to do. */ | 1320 | /* If there's no policy for the boot CPU, we have nothing to do. */ |
| 1420 | cpu_policy = cpufreq_cpu_get(cpu); | 1321 | cpu_policy = cpufreq_cpu_get(cpu); |
| @@ -1526,7 +1427,7 @@ int __cpufreq_driver_target(struct cpufreq_policy *policy, | |||
| 1526 | { | 1427 | { |
| 1527 | int retval = -EINVAL; | 1428 | int retval = -EINVAL; |
| 1528 | 1429 | ||
| 1529 | dprintk("target for CPU %u: %u kHz, relation %u\n", policy->cpu, | 1430 | pr_debug("target for CPU %u: %u kHz, relation %u\n", policy->cpu, |
| 1530 | target_freq, relation); | 1431 | target_freq, relation); |
| 1531 | if (cpu_online(policy->cpu) && cpufreq_driver->target) | 1432 | if (cpu_online(policy->cpu) && cpufreq_driver->target) |
| 1532 | retval = cpufreq_driver->target(policy, target_freq, relation); | 1433 | retval = cpufreq_driver->target(policy, target_freq, relation); |
| @@ -1612,7 +1513,7 @@ static int __cpufreq_governor(struct cpufreq_policy *policy, | |||
| 1612 | if (!try_module_get(policy->governor->owner)) | 1513 | if (!try_module_get(policy->governor->owner)) |
| 1613 | return -EINVAL; | 1514 | return -EINVAL; |
| 1614 | 1515 | ||
| 1615 | dprintk("__cpufreq_governor for CPU %u, event %u\n", | 1516 | pr_debug("__cpufreq_governor for CPU %u, event %u\n", |
| 1616 | policy->cpu, event); | 1517 | policy->cpu, event); |
| 1617 | ret = policy->governor->governor(policy, event); | 1518 | ret = policy->governor->governor(policy, event); |
| 1618 | 1519 | ||
| @@ -1713,8 +1614,7 @@ static int __cpufreq_set_policy(struct cpufreq_policy *data, | |||
| 1713 | { | 1614 | { |
| 1714 | int ret = 0; | 1615 | int ret = 0; |
| 1715 | 1616 | ||
| 1716 | cpufreq_debug_disable_ratelimit(); | 1617 | pr_debug("setting new policy for CPU %u: %u - %u kHz\n", policy->cpu, |
| 1717 | dprintk("setting new policy for CPU %u: %u - %u kHz\n", policy->cpu, | ||
| 1718 | policy->min, policy->max); | 1618 | policy->min, policy->max); |
| 1719 | 1619 | ||
| 1720 | memcpy(&policy->cpuinfo, &data->cpuinfo, | 1620 | memcpy(&policy->cpuinfo, &data->cpuinfo, |
| @@ -1751,19 +1651,19 @@ static int __cpufreq_set_policy(struct cpufreq_policy *data, | |||
| 1751 | data->min = policy->min; | 1651 | data->min = policy->min; |
| 1752 | data->max = policy->max; | 1652 | data->max = policy->max; |
| 1753 | 1653 | ||
| 1754 | dprintk("new min and max freqs are %u - %u kHz\n", | 1654 | pr_debug("new min and max freqs are %u - %u kHz\n", |
| 1755 | data->min, data->max); | 1655 | data->min, data->max); |
| 1756 | 1656 | ||
| 1757 | if (cpufreq_driver->setpolicy) { | 1657 | if (cpufreq_driver->setpolicy) { |
| 1758 | data->policy = policy->policy; | 1658 | data->policy = policy->policy; |
| 1759 | dprintk("setting range\n"); | 1659 | pr_debug("setting range\n"); |
| 1760 | ret = cpufreq_driver->setpolicy(policy); | 1660 | ret = cpufreq_driver->setpolicy(policy); |
| 1761 | } else { | 1661 | } else { |
| 1762 | if (policy->governor != data->governor) { | 1662 | if (policy->governor != data->governor) { |
| 1763 | /* save old, working values */ | 1663 | /* save old, working values */ |
| 1764 | struct cpufreq_governor *old_gov = data->governor; | 1664 | struct cpufreq_governor *old_gov = data->governor; |
| 1765 | 1665 | ||
| 1766 | dprintk("governor switch\n"); | 1666 | pr_debug("governor switch\n"); |
| 1767 | 1667 | ||
| 1768 | /* end old governor */ | 1668 | /* end old governor */ |
| 1769 | if (data->governor) | 1669 | if (data->governor) |
| @@ -1773,7 +1673,7 @@ static int __cpufreq_set_policy(struct cpufreq_policy *data, | |||
| 1773 | data->governor = policy->governor; | 1673 | data->governor = policy->governor; |
| 1774 | if (__cpufreq_governor(data, CPUFREQ_GOV_START)) { | 1674 | if (__cpufreq_governor(data, CPUFREQ_GOV_START)) { |
| 1775 | /* new governor failed, so re-start old one */ | 1675 | /* new governor failed, so re-start old one */ |
| 1776 | dprintk("starting governor %s failed\n", | 1676 | pr_debug("starting governor %s failed\n", |
| 1777 | data->governor->name); | 1677 | data->governor->name); |
| 1778 | if (old_gov) { | 1678 | if (old_gov) { |
| 1779 | data->governor = old_gov; | 1679 | data->governor = old_gov; |
| @@ -1785,12 +1685,11 @@ static int __cpufreq_set_policy(struct cpufreq_policy *data, | |||
| 1785 | } | 1685 | } |
| 1786 | /* might be a policy change, too, so fall through */ | 1686 | /* might be a policy change, too, so fall through */ |
| 1787 | } | 1687 | } |
| 1788 | dprintk("governor: change or update limits\n"); | 1688 | pr_debug("governor: change or update limits\n"); |
| 1789 | __cpufreq_governor(data, CPUFREQ_GOV_LIMITS); | 1689 | __cpufreq_governor(data, CPUFREQ_GOV_LIMITS); |
| 1790 | } | 1690 | } |
| 1791 | 1691 | ||
| 1792 | error_out: | 1692 | error_out: |
| 1793 | cpufreq_debug_enable_ratelimit(); | ||
| 1794 | return ret; | 1693 | return ret; |
| 1795 | } | 1694 | } |
| 1796 | 1695 | ||
| @@ -1817,7 +1716,7 @@ int cpufreq_update_policy(unsigned int cpu) | |||
| 1817 | goto fail; | 1716 | goto fail; |
| 1818 | } | 1717 | } |
| 1819 | 1718 | ||
| 1820 | dprintk("updating policy for CPU %u\n", cpu); | 1719 | pr_debug("updating policy for CPU %u\n", cpu); |
| 1821 | memcpy(&policy, data, sizeof(struct cpufreq_policy)); | 1720 | memcpy(&policy, data, sizeof(struct cpufreq_policy)); |
| 1822 | policy.min = data->user_policy.min; | 1721 | policy.min = data->user_policy.min; |
| 1823 | policy.max = data->user_policy.max; | 1722 | policy.max = data->user_policy.max; |
| @@ -1829,7 +1728,7 @@ int cpufreq_update_policy(unsigned int cpu) | |||
| 1829 | if (cpufreq_driver->get) { | 1728 | if (cpufreq_driver->get) { |
| 1830 | policy.cur = cpufreq_driver->get(cpu); | 1729 | policy.cur = cpufreq_driver->get(cpu); |
| 1831 | if (!data->cur) { | 1730 | if (!data->cur) { |
| 1832 | dprintk("Driver did not initialize current freq"); | 1731 | pr_debug("Driver did not initialize current freq"); |
| 1833 | data->cur = policy.cur; | 1732 | data->cur = policy.cur; |
| 1834 | } else { | 1733 | } else { |
| 1835 | if (data->cur != policy.cur) | 1734 | if (data->cur != policy.cur) |
| @@ -1905,7 +1804,7 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data) | |||
| 1905 | ((!driver_data->setpolicy) && (!driver_data->target))) | 1804 | ((!driver_data->setpolicy) && (!driver_data->target))) |
| 1906 | return -EINVAL; | 1805 | return -EINVAL; |
| 1907 | 1806 | ||
| 1908 | dprintk("trying to register driver %s\n", driver_data->name); | 1807 | pr_debug("trying to register driver %s\n", driver_data->name); |
| 1909 | 1808 | ||
| 1910 | if (driver_data->setpolicy) | 1809 | if (driver_data->setpolicy) |
| 1911 | driver_data->flags |= CPUFREQ_CONST_LOOPS; | 1810 | driver_data->flags |= CPUFREQ_CONST_LOOPS; |
| @@ -1936,15 +1835,14 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data) | |||
| 1936 | 1835 | ||
| 1937 | /* if all ->init() calls failed, unregister */ | 1836 | /* if all ->init() calls failed, unregister */ |
| 1938 | if (ret) { | 1837 | if (ret) { |
| 1939 | dprintk("no CPU initialized for driver %s\n", | 1838 | pr_debug("no CPU initialized for driver %s\n", |
| 1940 | driver_data->name); | 1839 | driver_data->name); |
| 1941 | goto err_sysdev_unreg; | 1840 | goto err_sysdev_unreg; |
| 1942 | } | 1841 | } |
| 1943 | } | 1842 | } |
| 1944 | 1843 | ||
| 1945 | register_hotcpu_notifier(&cpufreq_cpu_notifier); | 1844 | register_hotcpu_notifier(&cpufreq_cpu_notifier); |
| 1946 | dprintk("driver %s up and running\n", driver_data->name); | 1845 | pr_debug("driver %s up and running\n", driver_data->name); |
| 1947 | cpufreq_debug_enable_ratelimit(); | ||
| 1948 | 1846 | ||
| 1949 | return 0; | 1847 | return 0; |
| 1950 | err_sysdev_unreg: | 1848 | err_sysdev_unreg: |
| @@ -1971,14 +1869,10 @@ int cpufreq_unregister_driver(struct cpufreq_driver *driver) | |||
| 1971 | { | 1869 | { |
| 1972 | unsigned long flags; | 1870 | unsigned long flags; |
| 1973 | 1871 | ||
| 1974 | cpufreq_debug_disable_ratelimit(); | 1872 | if (!cpufreq_driver || (driver != cpufreq_driver)) |
| 1975 | |||
| 1976 | if (!cpufreq_driver || (driver != cpufreq_driver)) { | ||
| 1977 | cpufreq_debug_enable_ratelimit(); | ||
| 1978 | return -EINVAL; | 1873 | return -EINVAL; |
| 1979 | } | ||
| 1980 | 1874 | ||
| 1981 | dprintk("unregistering driver %s\n", driver->name); | 1875 | pr_debug("unregistering driver %s\n", driver->name); |
| 1982 | 1876 | ||
| 1983 | sysdev_driver_unregister(&cpu_sysdev_class, &cpufreq_sysdev_driver); | 1877 | sysdev_driver_unregister(&cpu_sysdev_class, &cpufreq_sysdev_driver); |
| 1984 | unregister_hotcpu_notifier(&cpufreq_cpu_notifier); | 1878 | unregister_hotcpu_notifier(&cpufreq_cpu_notifier); |
diff --git a/drivers/cpufreq/cpufreq_performance.c b/drivers/cpufreq/cpufreq_performance.c index 7e2e515087f8..f13a8a9af6a1 100644 --- a/drivers/cpufreq/cpufreq_performance.c +++ b/drivers/cpufreq/cpufreq_performance.c | |||
| @@ -15,9 +15,6 @@ | |||
| 15 | #include <linux/cpufreq.h> | 15 | #include <linux/cpufreq.h> |
| 16 | #include <linux/init.h> | 16 | #include <linux/init.h> |
| 17 | 17 | ||
| 18 | #define dprintk(msg...) \ | ||
| 19 | cpufreq_debug_printk(CPUFREQ_DEBUG_GOVERNOR, "performance", msg) | ||
| 20 | |||
| 21 | 18 | ||
| 22 | static int cpufreq_governor_performance(struct cpufreq_policy *policy, | 19 | static int cpufreq_governor_performance(struct cpufreq_policy *policy, |
| 23 | unsigned int event) | 20 | unsigned int event) |
| @@ -25,7 +22,7 @@ static int cpufreq_governor_performance(struct cpufreq_policy *policy, | |||
| 25 | switch (event) { | 22 | switch (event) { |
| 26 | case CPUFREQ_GOV_START: | 23 | case CPUFREQ_GOV_START: |
| 27 | case CPUFREQ_GOV_LIMITS: | 24 | case CPUFREQ_GOV_LIMITS: |
| 28 | dprintk("setting to %u kHz because of event %u\n", | 25 | pr_debug("setting to %u kHz because of event %u\n", |
| 29 | policy->max, event); | 26 | policy->max, event); |
| 30 | __cpufreq_driver_target(policy, policy->max, | 27 | __cpufreq_driver_target(policy, policy->max, |
| 31 | CPUFREQ_RELATION_H); | 28 | CPUFREQ_RELATION_H); |
diff --git a/drivers/cpufreq/cpufreq_powersave.c b/drivers/cpufreq/cpufreq_powersave.c index e6db5faf3eb1..4c2eb512f2bc 100644 --- a/drivers/cpufreq/cpufreq_powersave.c +++ b/drivers/cpufreq/cpufreq_powersave.c | |||
| @@ -15,16 +15,13 @@ | |||
| 15 | #include <linux/cpufreq.h> | 15 | #include <linux/cpufreq.h> |
| 16 | #include <linux/init.h> | 16 | #include <linux/init.h> |
| 17 | 17 | ||
| 18 | #define dprintk(msg...) \ | ||
| 19 | cpufreq_debug_printk(CPUFREQ_DEBUG_GOVERNOR, "powersave", msg) | ||
| 20 | |||
| 21 | static int cpufreq_governor_powersave(struct cpufreq_policy *policy, | 18 | static int cpufreq_governor_powersave(struct cpufreq_policy *policy, |
| 22 | unsigned int event) | 19 | unsigned int event) |
| 23 | { | 20 | { |
| 24 | switch (event) { | 21 | switch (event) { |
| 25 | case CPUFREQ_GOV_START: | 22 | case CPUFREQ_GOV_START: |
| 26 | case CPUFREQ_GOV_LIMITS: | 23 | case CPUFREQ_GOV_LIMITS: |
| 27 | dprintk("setting to %u kHz because of event %u\n", | 24 | pr_debug("setting to %u kHz because of event %u\n", |
| 28 | policy->min, event); | 25 | policy->min, event); |
| 29 | __cpufreq_driver_target(policy, policy->min, | 26 | __cpufreq_driver_target(policy, policy->min, |
| 30 | CPUFREQ_RELATION_L); | 27 | CPUFREQ_RELATION_L); |
diff --git a/drivers/cpufreq/cpufreq_userspace.c b/drivers/cpufreq/cpufreq_userspace.c index 66d2d1d6c80f..f231015904c0 100644 --- a/drivers/cpufreq/cpufreq_userspace.c +++ b/drivers/cpufreq/cpufreq_userspace.c | |||
| @@ -37,9 +37,6 @@ static DEFINE_PER_CPU(unsigned int, cpu_is_managed); | |||
| 37 | static DEFINE_MUTEX(userspace_mutex); | 37 | static DEFINE_MUTEX(userspace_mutex); |
| 38 | static int cpus_using_userspace_governor; | 38 | static int cpus_using_userspace_governor; |
| 39 | 39 | ||
| 40 | #define dprintk(msg...) \ | ||
| 41 | cpufreq_debug_printk(CPUFREQ_DEBUG_GOVERNOR, "userspace", msg) | ||
| 42 | |||
| 43 | /* keep track of frequency transitions */ | 40 | /* keep track of frequency transitions */ |
| 44 | static int | 41 | static int |
| 45 | userspace_cpufreq_notifier(struct notifier_block *nb, unsigned long val, | 42 | userspace_cpufreq_notifier(struct notifier_block *nb, unsigned long val, |
| @@ -50,7 +47,7 @@ userspace_cpufreq_notifier(struct notifier_block *nb, unsigned long val, | |||
| 50 | if (!per_cpu(cpu_is_managed, freq->cpu)) | 47 | if (!per_cpu(cpu_is_managed, freq->cpu)) |
| 51 | return 0; | 48 | return 0; |
| 52 | 49 | ||
| 53 | dprintk("saving cpu_cur_freq of cpu %u to be %u kHz\n", | 50 | pr_debug("saving cpu_cur_freq of cpu %u to be %u kHz\n", |
| 54 | freq->cpu, freq->new); | 51 | freq->cpu, freq->new); |
| 55 | per_cpu(cpu_cur_freq, freq->cpu) = freq->new; | 52 | per_cpu(cpu_cur_freq, freq->cpu) = freq->new; |
| 56 | 53 | ||
| @@ -73,7 +70,7 @@ static int cpufreq_set(struct cpufreq_policy *policy, unsigned int freq) | |||
| 73 | { | 70 | { |
| 74 | int ret = -EINVAL; | 71 | int ret = -EINVAL; |
| 75 | 72 | ||
| 76 | dprintk("cpufreq_set for cpu %u, freq %u kHz\n", policy->cpu, freq); | 73 | pr_debug("cpufreq_set for cpu %u, freq %u kHz\n", policy->cpu, freq); |
| 77 | 74 | ||
| 78 | mutex_lock(&userspace_mutex); | 75 | mutex_lock(&userspace_mutex); |
| 79 | if (!per_cpu(cpu_is_managed, policy->cpu)) | 76 | if (!per_cpu(cpu_is_managed, policy->cpu)) |
| @@ -134,7 +131,7 @@ static int cpufreq_governor_userspace(struct cpufreq_policy *policy, | |||
| 134 | per_cpu(cpu_max_freq, cpu) = policy->max; | 131 | per_cpu(cpu_max_freq, cpu) = policy->max; |
| 135 | per_cpu(cpu_cur_freq, cpu) = policy->cur; | 132 | per_cpu(cpu_cur_freq, cpu) = policy->cur; |
| 136 | per_cpu(cpu_set_freq, cpu) = policy->cur; | 133 | per_cpu(cpu_set_freq, cpu) = policy->cur; |
| 137 | dprintk("managing cpu %u started " | 134 | pr_debug("managing cpu %u started " |
| 138 | "(%u - %u kHz, currently %u kHz)\n", | 135 | "(%u - %u kHz, currently %u kHz)\n", |
| 139 | cpu, | 136 | cpu, |
| 140 | per_cpu(cpu_min_freq, cpu), | 137 | per_cpu(cpu_min_freq, cpu), |
| @@ -156,12 +153,12 @@ static int cpufreq_governor_userspace(struct cpufreq_policy *policy, | |||
| 156 | per_cpu(cpu_min_freq, cpu) = 0; | 153 | per_cpu(cpu_min_freq, cpu) = 0; |
| 157 | per_cpu(cpu_max_freq, cpu) = 0; | 154 | per_cpu(cpu_max_freq, cpu) = 0; |
| 158 | per_cpu(cpu_set_freq, cpu) = 0; | 155 | per_cpu(cpu_set_freq, cpu) = 0; |
| 159 | dprintk("managing cpu %u stopped\n", cpu); | 156 | pr_debug("managing cpu %u stopped\n", cpu); |
| 160 | mutex_unlock(&userspace_mutex); | 157 | mutex_unlock(&userspace_mutex); |
| 161 | break; | 158 | break; |
| 162 | case CPUFREQ_GOV_LIMITS: | 159 | case CPUFREQ_GOV_LIMITS: |
| 163 | mutex_lock(&userspace_mutex); | 160 | mutex_lock(&userspace_mutex); |
| 164 | dprintk("limit event for cpu %u: %u - %u kHz, " | 161 | pr_debug("limit event for cpu %u: %u - %u kHz, " |
| 165 | "currently %u kHz, last set to %u kHz\n", | 162 | "currently %u kHz, last set to %u kHz\n", |
| 166 | cpu, policy->min, policy->max, | 163 | cpu, policy->min, policy->max, |
| 167 | per_cpu(cpu_cur_freq, cpu), | 164 | per_cpu(cpu_cur_freq, cpu), |
diff --git a/drivers/cpufreq/freq_table.c b/drivers/cpufreq/freq_table.c index 05432216e224..90431cb92804 100644 --- a/drivers/cpufreq/freq_table.c +++ b/drivers/cpufreq/freq_table.c | |||
| @@ -14,9 +14,6 @@ | |||
| 14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
| 15 | #include <linux/cpufreq.h> | 15 | #include <linux/cpufreq.h> |
| 16 | 16 | ||
| 17 | #define dprintk(msg...) \ | ||
| 18 | cpufreq_debug_printk(CPUFREQ_DEBUG_CORE, "freq-table", msg) | ||
| 19 | |||
| 20 | /********************************************************************* | 17 | /********************************************************************* |
| 21 | * FREQUENCY TABLE HELPERS * | 18 | * FREQUENCY TABLE HELPERS * |
| 22 | *********************************************************************/ | 19 | *********************************************************************/ |
| @@ -31,11 +28,11 @@ int cpufreq_frequency_table_cpuinfo(struct cpufreq_policy *policy, | |||
| 31 | for (i = 0; (table[i].frequency != CPUFREQ_TABLE_END); i++) { | 28 | for (i = 0; (table[i].frequency != CPUFREQ_TABLE_END); i++) { |
| 32 | unsigned int freq = table[i].frequency; | 29 | unsigned int freq = table[i].frequency; |
| 33 | if (freq == CPUFREQ_ENTRY_INVALID) { | 30 | if (freq == CPUFREQ_ENTRY_INVALID) { |
| 34 | dprintk("table entry %u is invalid, skipping\n", i); | 31 | pr_debug("table entry %u is invalid, skipping\n", i); |
| 35 | 32 | ||
| 36 | continue; | 33 | continue; |
| 37 | } | 34 | } |
| 38 | dprintk("table entry %u: %u kHz, %u index\n", | 35 | pr_debug("table entry %u: %u kHz, %u index\n", |
| 39 | i, freq, table[i].index); | 36 | i, freq, table[i].index); |
| 40 | if (freq < min_freq) | 37 | if (freq < min_freq) |
| 41 | min_freq = freq; | 38 | min_freq = freq; |
| @@ -61,7 +58,7 @@ int cpufreq_frequency_table_verify(struct cpufreq_policy *policy, | |||
| 61 | unsigned int i; | 58 | unsigned int i; |
| 62 | unsigned int count = 0; | 59 | unsigned int count = 0; |
| 63 | 60 | ||
| 64 | dprintk("request for verification of policy (%u - %u kHz) for cpu %u\n", | 61 | pr_debug("request for verification of policy (%u - %u kHz) for cpu %u\n", |
| 65 | policy->min, policy->max, policy->cpu); | 62 | policy->min, policy->max, policy->cpu); |
| 66 | 63 | ||
| 67 | if (!cpu_online(policy->cpu)) | 64 | if (!cpu_online(policy->cpu)) |
| @@ -86,7 +83,7 @@ int cpufreq_frequency_table_verify(struct cpufreq_policy *policy, | |||
| 86 | cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq, | 83 | cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq, |
| 87 | policy->cpuinfo.max_freq); | 84 | policy->cpuinfo.max_freq); |
| 88 | 85 | ||
| 89 | dprintk("verification lead to (%u - %u kHz) for cpu %u\n", | 86 | pr_debug("verification lead to (%u - %u kHz) for cpu %u\n", |
| 90 | policy->min, policy->max, policy->cpu); | 87 | policy->min, policy->max, policy->cpu); |
| 91 | 88 | ||
| 92 | return 0; | 89 | return 0; |
| @@ -110,7 +107,7 @@ int cpufreq_frequency_table_target(struct cpufreq_policy *policy, | |||
| 110 | }; | 107 | }; |
| 111 | unsigned int i; | 108 | unsigned int i; |
| 112 | 109 | ||
| 113 | dprintk("request for target %u kHz (relation: %u) for cpu %u\n", | 110 | pr_debug("request for target %u kHz (relation: %u) for cpu %u\n", |
| 114 | target_freq, relation, policy->cpu); | 111 | target_freq, relation, policy->cpu); |
| 115 | 112 | ||
| 116 | switch (relation) { | 113 | switch (relation) { |
| @@ -167,7 +164,7 @@ int cpufreq_frequency_table_target(struct cpufreq_policy *policy, | |||
| 167 | } else | 164 | } else |
| 168 | *index = optimal.index; | 165 | *index = optimal.index; |
| 169 | 166 | ||
| 170 | dprintk("target is %u (%u kHz, %u)\n", *index, table[*index].frequency, | 167 | pr_debug("target is %u (%u kHz, %u)\n", *index, table[*index].frequency, |
| 171 | table[*index].index); | 168 | table[*index].index); |
| 172 | 169 | ||
| 173 | return 0; | 170 | return 0; |
| @@ -216,14 +213,14 @@ EXPORT_SYMBOL_GPL(cpufreq_freq_attr_scaling_available_freqs); | |||
| 216 | void cpufreq_frequency_table_get_attr(struct cpufreq_frequency_table *table, | 213 | void cpufreq_frequency_table_get_attr(struct cpufreq_frequency_table *table, |
| 217 | unsigned int cpu) | 214 | unsigned int cpu) |
| 218 | { | 215 | { |
| 219 | dprintk("setting show_table for cpu %u to %p\n", cpu, table); | 216 | pr_debug("setting show_table for cpu %u to %p\n", cpu, table); |
| 220 | per_cpu(cpufreq_show_table, cpu) = table; | 217 | per_cpu(cpufreq_show_table, cpu) = table; |
| 221 | } | 218 | } |
| 222 | EXPORT_SYMBOL_GPL(cpufreq_frequency_table_get_attr); | 219 | EXPORT_SYMBOL_GPL(cpufreq_frequency_table_get_attr); |
| 223 | 220 | ||
| 224 | void cpufreq_frequency_table_put_attr(unsigned int cpu) | 221 | void cpufreq_frequency_table_put_attr(unsigned int cpu) |
| 225 | { | 222 | { |
| 226 | dprintk("clearing show_table for cpu %u\n", cpu); | 223 | pr_debug("clearing show_table for cpu %u\n", cpu); |
| 227 | per_cpu(cpufreq_show_table, cpu) = NULL; | 224 | per_cpu(cpufreq_show_table, cpu) = NULL; |
| 228 | } | 225 | } |
| 229 | EXPORT_SYMBOL_GPL(cpufreq_frequency_table_put_attr); | 226 | EXPORT_SYMBOL_GPL(cpufreq_frequency_table_put_attr); |
