sh: oprofile: Backtrace support.
[linux-2.6.git] / arch / sh / oprofile / common.c
index a4d8c0c..1d97d64 100644 (file)
@@ -27,6 +27,8 @@ static struct op_sh_model *model;
 
 static struct op_counter_config ctr[20];
 
+extern void sh_backtrace(struct pt_regs * const regs, unsigned int depth);
+
 static int op_sh_setup(void)
 {
        /* Pre-compute the values to stuff in the hardware registers.  */
@@ -85,6 +87,13 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
        struct op_sh_model *lmodel = NULL;
        int ret;
 
+       /*
+        * Always assign the backtrace op. If the counter initialization
+        * fails, we fall back to the timer which will still make use of
+        * this.
+        */
+       ops->backtrace = sh_backtrace;
+
        switch (current_cpu_data.type) {
        /* SH-4 types */
        case CPU_SH7750: