Update to 3.4-final.
[linux-flexiantxendom0-3.2.10.git] / drivers / oprofile / oprof.h
1 /**
2  * @file oprof.h
3  *
4  * @remark Copyright 2002 OProfile authors
5  * @remark Read the file COPYING
6  *
7  * @author John Levon <levon@movementarian.org>
8  */
9
10 #ifndef OPROF_H
11 #define OPROF_H
12
13 int oprofile_setup(void);
14 void oprofile_shutdown(void);
15
16 int oprofilefs_register(void);
17 void oprofilefs_unregister(void);
18
19 int oprofile_start(void);
20 void oprofile_stop(void);
21
22 struct oprofile_operations;
23
24 extern unsigned long oprofile_buffer_size;
25 extern unsigned long oprofile_cpu_buffer_size;
26 extern unsigned long oprofile_buffer_watershed;
27 extern unsigned long oprofile_time_slice;
28
29 extern struct oprofile_operations oprofile_ops;
30 extern unsigned long oprofile_started;
31 extern unsigned long oprofile_backtrace_depth;
32
33 struct super_block;
34 struct dentry;
35
36 void oprofile_create_files(struct super_block *sb, struct dentry *root);
37 int oprofile_timer_init(struct oprofile_operations *ops);
38 #ifdef CONFIG_OPROFILE_NMI_TIMER
39 int op_nmi_timer_init(struct oprofile_operations *ops);
40 #else
41 static inline int op_nmi_timer_init(struct oprofile_operations *ops)
42 {
43         return -ENODEV;
44 }
45 #endif
46
47
48 int oprofile_set_ulong(unsigned long *addr, unsigned long val);
49 int oprofile_set_timeout(unsigned long time);
50
51 int oprofile_set_active(int active_domains[], unsigned int adomains);
52 int oprofile_set_passive(int passive_domains[], unsigned int pdomains);
53
54 #endif /* OPROF_H */