X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=arch%2Farm%2Foprofile%2Fcommon.c;h=a9de727c9327aa29eb266e45860a681e72f1d55c;hb=b3bea15d29799797d1486aeddf883404a2e05c81;hp=6f833358cd0612c4c13e5d59619e86ccee2749e5;hpb=55d8ca4f8094246da6e71889a4e04bfafaa78b10;p=linux-2.6 diff --git a/arch/arm/oprofile/common.c b/arch/arm/oprofile/common.c index 6f833358cd..a9de727c93 100644 --- a/arch/arm/oprofile/common.c +++ b/arch/arm/oprofile/common.c @@ -131,10 +131,20 @@ int __init oprofile_arch_init(struct oprofile_operations *ops) struct op_arm_model_spec *spec = NULL; int ret = -ENODEV; + ops->backtrace = arm_backtrace; + #ifdef CONFIG_CPU_XSCALE spec = &op_xscale_spec; #endif +#ifdef CONFIG_OPROFILE_ARMV6 + spec = &op_armv6_spec; +#endif + +#ifdef CONFIG_OPROFILE_MPCORE + spec = &op_mpcore_spec; +#endif + if (spec) { ret = spec->init(); if (ret < 0) @@ -153,7 +163,6 @@ int __init oprofile_arch_init(struct oprofile_operations *ops) ops->start = op_arm_start; ops->stop = op_arm_stop; ops->cpu_type = op_arm_model->name; - ops->backtrace = arm_backtrace; printk(KERN_INFO "oprofile: using %s\n", spec->name); }