diff options
| author | Andre Przywara <andre.przywara@amd.com> | 2012-09-04 04:28:05 -0400 |
|---|---|---|
| committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-09-09 16:04:53 -0400 |
| commit | a2060958569a8e8e36202c373a55c458ff84856d (patch) | |
| tree | 794f7b0536895b26ace84762cbffb4ddf21ed2a2 /drivers/cpufreq | |
| parent | 034be8fd645bb77ca623036dc24c790b6cc803e2 (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.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/drivers/cpufreq/powernow-k8.c b/drivers/cpufreq/powernow-k8.c index e2defb822bb..f1035a920b0 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 | } |
