diff options
Diffstat (limited to 'arch/sparc/kernel/perf_event.c')
-rw-r--r-- | arch/sparc/kernel/perf_event.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/sparc/kernel/perf_event.c b/arch/sparc/kernel/perf_event.c index 8efd33753ad3..d35c490a91cb 100644 --- a/arch/sparc/kernel/perf_event.c +++ b/arch/sparc/kernel/perf_event.c | |||
@@ -1671,9 +1671,12 @@ static bool __init supported_pmu(void) | |||
1671 | 1671 | ||
1672 | static int __init init_hw_perf_events(void) | 1672 | static int __init init_hw_perf_events(void) |
1673 | { | 1673 | { |
1674 | int err; | ||
1675 | |||
1674 | pr_info("Performance events: "); | 1676 | pr_info("Performance events: "); |
1675 | 1677 | ||
1676 | if (!supported_pmu()) { | 1678 | err = pcr_arch_init(); |
1679 | if (err || !supported_pmu()) { | ||
1677 | pr_cont("No support for PMU type '%s'\n", sparc_pmu_type); | 1680 | pr_cont("No support for PMU type '%s'\n", sparc_pmu_type); |
1678 | return 0; | 1681 | return 0; |
1679 | } | 1682 | } |
@@ -1685,7 +1688,7 @@ static int __init init_hw_perf_events(void) | |||
1685 | 1688 | ||
1686 | return 0; | 1689 | return 0; |
1687 | } | 1690 | } |
1688 | early_initcall(init_hw_perf_events); | 1691 | pure_initcall(init_hw_perf_events); |
1689 | 1692 | ||
1690 | void perf_callchain_kernel(struct perf_callchain_entry *entry, | 1693 | void perf_callchain_kernel(struct perf_callchain_entry *entry, |
1691 | struct pt_regs *regs) | 1694 | struct pt_regs *regs) |