Currently, oprofile support is only functional if CONFIG_HW_PERF_EVENTS is set. If this symbol is not set, oprofile initialisation will fail at runtime. Instead of allowing the oprofile code to build but fail at runtime it seems less confusing to not allow the code to be built unless hardware performance counter support is available. Signed-off-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxx> --- arch/arm/Kconfig | 2 +- arch/arm/oprofile/common.c | 9 --------- 2 files changed, 1 insertions(+), 10 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index a7ed21f..d29075c 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -14,7 +14,7 @@ config ARM select RTC_LIB select SYS_SUPPORTS_APM_EMULATION select GENERIC_ATOMIC64 if (!CPU_32v6K) - select HAVE_OPROFILE if (HAVE_PERF_EVENTS) + select HAVE_OPROFILE if (HW_PERF_EVENTS) select HAVE_ARCH_KGDB select HAVE_KPROBES if (!XIP_KERNEL) select HAVE_KRETPROBES if (HAVE_KPROBES) diff --git a/arch/arm/oprofile/common.c b/arch/arm/oprofile/common.c index 9a3ed26..444ea86 100644 --- a/arch/arm/oprofile/common.c +++ b/arch/arm/oprofile/common.c @@ -24,7 +24,6 @@ #include <asm/perf_event.h> #include <asm/ptrace.h> -#ifdef CONFIG_HW_PERF_EVENTS static char *op_name_from_perf_id(enum arm_perf_pmu_ids id) { switch (id) { @@ -119,11 +118,3 @@ void __exit oprofile_arch_exit(void) { oprofile_perf_exit(); } -#else -int __init oprofile_arch_init(struct oprofile_operations *ops) -{ - pr_info("oprofile: hardware counters not available\n"); - return -ENODEV; -} -void __exit oprofile_arch_exit(void) {} -#endif /* CONFIG_HW_PERF_EVENTS */ -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html