diff options
Diffstat (limited to 'arch/arm/oprofile/common.c')
| -rw-r--r-- | arch/arm/oprofile/common.c | 14 | 
1 files changed, 3 insertions, 11 deletions
diff --git a/arch/arm/oprofile/common.c b/arch/arm/oprofile/common.c index 8aa974491dfc..c074e66ad224 100644 --- a/arch/arm/oprofile/common.c +++ b/arch/arm/oprofile/common.c @@ -10,8 +10,6 @@   */  #include <linux/cpumask.h> -#include <linux/err.h> -#include <linux/errno.h>  #include <linux/init.h>  #include <linux/mutex.h>  #include <linux/oprofile.h> @@ -46,6 +44,7 @@ char *op_name_from_perf_id(void)  		return NULL;  	}  } +#endif  static int report_trace(struct stackframe *frame, void *d)  { @@ -85,7 +84,7 @@ static struct frame_tail* user_backtrace(struct frame_tail *tail)  	/* frame pointers should strictly progress back up the stack  	 * (towards higher addresses) */ -	if (tail >= buftail[0].fp) +	if (tail + 1 >= buftail[0].fp)  		return NULL;  	return buftail[0].fp-1; @@ -111,6 +110,7 @@ static void arm_backtrace(struct pt_regs * const regs, unsigned int depth)  int __init oprofile_arch_init(struct oprofile_operations *ops)  { +	/* provide backtrace support also in timer mode: */  	ops->backtrace		= arm_backtrace;  	return oprofile_perf_init(ops); @@ -120,11 +120,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 */  | 
