V4L/DVB: v4l2-dev: remove unnecessary lock around atomic clear_bit
[safe/jmp/linux-2.6] / drivers / oprofile / event_buffer.h
index 442aaad..4e70749 100644 (file)
 #ifndef EVENT_BUFFER_H
 #define EVENT_BUFFER_H
 
-#include <linux/types.h> 
-#include <asm/semaphore.h>
+#include <linux/types.h>
+#include <asm/mutex.h>
+
 int alloc_event_buffer(void);
 
 void free_event_buffer(void);
-/* wake up the process sleeping on the event file */
-void wake_up_buffer_waiter(void);
-/* Each escaped entry is prefixed by ESCAPE_CODE
- * then one of the following codes, then the
- * relevant data.
+
+/**
+ * Add data to the event buffer.
+ * The data passed is free-form, but typically consists of
+ * file offsets, dcookies, context information, and ESCAPE codes.
  */
-#define ESCAPE_CODE                    ~0UL
-#define CTX_SWITCH_CODE                1
-#define CPU_SWITCH_CODE                2
-#define COOKIE_SWITCH_CODE             3
-#define KERNEL_ENTER_SWITCH_CODE       4
-#define KERNEL_EXIT_SWITCH_CODE                5
-#define MODULE_LOADED_CODE             6
-#define CTX_TGID_CODE                  7
-#define TRACE_BEGIN_CODE               8
-#define TRACE_END_CODE                 9
-/* add data to the event buffer */
 void add_event_entry(unsigned long data);
-extern struct file_operations event_buffer_fops;
+
+/* wake up the process sleeping on the event file */
+void wake_up_buffer_waiter(void);
+
+#define INVALID_COOKIE ~0UL
+#define NO_COOKIE 0UL
+
+extern const struct file_operations event_buffer_fops;
+
 /* mutex between sync_cpu_buffers() and the
  * file reading code.
  */
-extern struct semaphore buffer_sem;
+extern struct mutex buffer_mutex;
+
 #endif /* EVENT_BUFFER_H */