aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq
diff options
context:
space:
mode:
authorAndre Przywara <andre.przywara@amd.com>2012-09-04 04:28:05 -0400
committerRafael J. Wysocki <rjw@sisk.pl>2012-09-09 16:04:53 -0400
commita2060958569a8e8e36202c373a55c458ff84856d (patch)
tree794f7b0536895b26ace84762cbffb4ddf21ed2a2 /drivers/cpufreq
parent034be8fd645bb77ca623036dc24c790b6cc803e2 (diff)
powernow-k8: delay info messages until initialization has succeeded
powernow-k8 is quite prematurely crying Hooray and outputs diagnostic messages, although the actual initialization can still fail. Since now we may have acpi-cpufreq already loaded, we move the messages at the end of the init routine to avoid confusing output if the loading of powernow-k8 should not succeed. Signed-off-by: Andre Przywara <andre.przywara@amd.com> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r--drivers/cpufreq/powernow-k8.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/drivers/cpufreq/powernow-k8.c b/drivers/cpufreq/powernow-k8.c
index e2defb822bb1..f1035a920b0a 100644
--- a/drivers/cpufreq/powernow-k8.c
+++ b/drivers/cpufreq/powernow-k8.c
@@ -1576,9 +1576,6 @@ static int __cpuinit powernowk8_init(void)
1576 if (supported_cpus != num_online_cpus()) 1576 if (supported_cpus != num_online_cpus())
1577 return -ENODEV; 1577 return -ENODEV;
1578 1578
1579 printk(KERN_INFO PFX "Found %d %s (%d cpu cores) (" VERSION ")\n",
1580 num_online_nodes(), boot_cpu_data.x86_model_id, supported_cpus);
1581
1582 if (boot_cpu_has(X86_FEATURE_CPB)) { 1579 if (boot_cpu_has(X86_FEATURE_CPB)) {
1583 1580
1584 cpb_capable = true; 1581 cpb_capable = true;
@@ -1597,16 +1594,23 @@ static int __cpuinit powernowk8_init(void)
1597 struct msr *reg = per_cpu_ptr(msrs, cpu); 1594 struct msr *reg = per_cpu_ptr(msrs, cpu);
1598 cpb_enabled |= !(!!(reg->l & BIT(25))); 1595 cpb_enabled |= !(!!(reg->l & BIT(25)));
1599 } 1596 }
1600
1601 printk(KERN_INFO PFX "Core Performance Boosting: %s.\n",
1602 (cpb_enabled ? "on" : "off"));
1603 } 1597 }
1604 1598
1605 rv = cpufreq_register_driver(&cpufreq_amd64_driver); 1599 rv = cpufreq_register_driver(&cpufreq_amd64_driver);
1606 if (rv < 0 && boot_cpu_has(X86_FEATURE_CPB)) { 1600
1607 unregister_cpu_notifier(&cpb_nb); 1601 if (!rv)
1608 msrs_free(msrs); 1602 pr_info(PFX "Found %d %s (%d cpu cores) (" VERSION ")\n",
1609 msrs = NULL; 1603 num_online_nodes(), boot_cpu_data.x86_model_id,
1604 supported_cpus);
1605
1606 if (boot_cpu_has(X86_FEATURE_CPB)) {
1607 if (rv < 0) {
1608 unregister_cpu_notifier(&cpb_nb);
1609 msrs_free(msrs);
1610 msrs = NULL;
1611 } else
1612 pr_info(PFX "Core Performance Boosting: %s.\n",
1613 (cpb_enabled ? "on" : "off"));
1610 } 1614 }
1611 return rv; 1615 return rv;
1612} 1616}