Merge branches 'pm-cpufreq', 'pm-cpuidle' and 'pm-core'
[linux-2.6-block.git] / drivers / oprofile / oprof.h
CommitLineData
1da177e4
LT
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
13int oprofile_setup(void);
6a18037d 14void oprofile_shutdown(void);
1da177e4
LT
15
16int oprofilefs_register(void);
17void oprofilefs_unregister(void);
18
19int oprofile_start(void);
20void oprofile_stop(void);
21
22struct oprofile_operations;
6a18037d 23
bd2172f5
RR
24extern unsigned long oprofile_buffer_size;
25extern unsigned long oprofile_cpu_buffer_size;
26extern unsigned long oprofile_buffer_watershed;
afe1b50f
RR
27extern unsigned long oprofile_time_slice;
28
1da177e4
LT
29extern struct oprofile_operations oprofile_ops;
30extern unsigned long oprofile_started;
bd2172f5 31extern unsigned long oprofile_backtrace_depth;
6a18037d 32
1da177e4
LT
33struct dentry;
34
a9e599e5 35void oprofile_create_files(struct dentry *root);
bc078e4e 36int oprofile_timer_init(struct oprofile_operations *ops);
dcfce4a0
RR
37#ifdef CONFIG_OPROFILE_NMI_TIMER
38int op_nmi_timer_init(struct oprofile_operations *ops);
39#else
40static inline int op_nmi_timer_init(struct oprofile_operations *ops)
41{
42 return -ENODEV;
43}
44#endif
45
1da177e4 46
7df01d96 47int oprofile_set_ulong(unsigned long *addr, unsigned long val);
4d4036e0 48int oprofile_set_timeout(unsigned long time);
6a18037d 49
1da177e4 50#endif /* OPROF_H */