diff options
author | Matt Fleming <matt@console-pimps.org> | 2010-09-10 20:36:23 +0100 |
---|---|---|
committer | Robert Richter <robert.richter@amd.com> | 2010-10-11 17:46:16 +0200 |
commit | 86c8c04792f152c5469023885510140dd34817bc (patch) | |
tree | 367ed782c323a4d1f11d773e9ea9790741fa4968 /arch/sh/oprofile/op_impl.h | |
parent | 3d90a00763b51e1db344a7430c966be723b67a29 (diff) | |
download | lwn-86c8c04792f152c5469023885510140dd34817bc.tar.gz lwn-86c8c04792f152c5469023885510140dd34817bc.zip |
sh: oprofile: Use perf-events oprofile backend
Now that we've got a generic perf-events based oprofile backend we might
as well make use of it seeing as SH doesn't do anything special with its
oprofile backend. Also introduce a new CONFIG_HW_PERF_EVENTS symbol so
that we can fallback to using the timer interrupt for oprofile if the
CPU doesn't support perf events.
Also, to avoid a section mismatch warning we need to annotate
oprofile_arch_exit() with an __exit marker.
Signed-off-by: Matt Fleming <matt@console-pimps.org>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Robert Richter <robert.richter@amd.com>
Diffstat (limited to 'arch/sh/oprofile/op_impl.h')
-rw-r--r-- | arch/sh/oprofile/op_impl.h | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/arch/sh/oprofile/op_impl.h b/arch/sh/oprofile/op_impl.h deleted file mode 100644 index 1244479ceb29..000000000000 --- a/arch/sh/oprofile/op_impl.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef __OP_IMPL_H -#define __OP_IMPL_H - -/* Per-counter configuration as set via oprofilefs. */ -struct op_counter_config { - unsigned long enabled; - unsigned long event; - - unsigned long count; - - /* Dummy values for userspace tool compliance */ - unsigned long kernel; - unsigned long user; - unsigned long unit_mask; -}; - -/* Per-architecture configury and hooks. */ -struct op_sh_model { - void (*reg_setup)(struct op_counter_config *); - int (*create_files)(struct super_block *sb, struct dentry *dir); - void (*cpu_setup)(void *dummy); - int (*init)(void); - void (*exit)(void); - void (*cpu_start)(void *args); - void (*cpu_stop)(void *args); - char *cpu_type; - unsigned char num_counters; -}; - -/* arch/sh/oprofile/common.c */ -extern void sh_backtrace(struct pt_regs * const regs, unsigned int depth); - -#endif /* __OP_IMPL_H */ |