|
@@ -1576,9 +1576,6 @@ static int __cpuinit powernowk8_init(void)
|
|
|
if (supported_cpus != num_online_cpus())
|
|
|
return -ENODEV;
|
|
|
|
|
|
- printk(KERN_INFO PFX "Found %d %s (%d cpu cores) (" VERSION ")\n",
|
|
|
- num_online_nodes(), boot_cpu_data.x86_model_id, supported_cpus);
|
|
|
-
|
|
|
if (boot_cpu_has(X86_FEATURE_CPB)) {
|
|
|
|
|
|
cpb_capable = true;
|
|
@@ -1597,16 +1594,23 @@ static int __cpuinit powernowk8_init(void)
|
|
|
struct msr *reg = per_cpu_ptr(msrs, cpu);
|
|
|
cpb_enabled |= !(!!(reg->l & BIT(25)));
|
|
|
}
|
|
|
-
|
|
|
- printk(KERN_INFO PFX "Core Performance Boosting: %s.\n",
|
|
|
- (cpb_enabled ? "on" : "off"));
|
|
|
}
|
|
|
|
|
|
rv = cpufreq_register_driver(&cpufreq_amd64_driver);
|
|
|
- if (rv < 0 && boot_cpu_has(X86_FEATURE_CPB)) {
|
|
|
- unregister_cpu_notifier(&cpb_nb);
|
|
|
- msrs_free(msrs);
|
|
|
- msrs = NULL;
|
|
|
+
|
|
|
+ if (!rv)
|
|
|
+ pr_info(PFX "Found %d %s (%d cpu cores) (" VERSION ")\n",
|
|
|
+ num_online_nodes(), boot_cpu_data.x86_model_id,
|
|
|
+ supported_cpus);
|
|
|
+
|
|
|
+ if (boot_cpu_has(X86_FEATURE_CPB)) {
|
|
|
+ if (rv < 0) {
|
|
|
+ unregister_cpu_notifier(&cpb_nb);
|
|
|
+ msrs_free(msrs);
|
|
|
+ msrs = NULL;
|
|
|
+ } else
|
|
|
+ pr_info(PFX "Core Performance Boosting: %s.\n",
|
|
|
+ (cpb_enabled ? "on" : "off"));
|
|
|
}
|
|
|
return rv;
|
|
|
}
|