Merge branch 'for-np' of git://git.wormnet.eu/alex/ts78xx into orion/master
[sfrench/cifs-2.6.git] / arch / sh / oprofile / op_impl.h
1 #ifndef __OP_IMPL_H
2 #define __OP_IMPL_H
3
4 /* Per-counter configuration as set via oprofilefs.  */
5 struct op_counter_config {
6         unsigned long enabled;
7         unsigned long event;
8
9         unsigned long long count;
10
11         /* Dummy values for userspace tool compliance */
12         unsigned long kernel;
13         unsigned long user;
14         unsigned long unit_mask;
15 };
16
17 /* Per-architecture configury and hooks.  */
18 struct op_sh_model {
19         void (*reg_setup)(struct op_counter_config *);
20         int (*create_files)(struct super_block *sb, struct dentry *dir);
21         void (*cpu_setup)(void *dummy);
22         int (*init)(void);
23         void (*exit)(void);
24         void (*cpu_start)(void *args);
25         void (*cpu_stop)(void *args);
26         char *cpu_type;
27         unsigned char num_counters;
28 };
29
30 /* arch/sh/oprofile/common.c */
31 extern void sh_backtrace(struct pt_regs * const regs, unsigned int depth);
32
33 #endif /* __OP_IMPL_H */