License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[linux-2.6-block.git] / include / linux / tracepoint-defs.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef TRACEPOINT_DEFS_H
3 #define TRACEPOINT_DEFS_H 1
4
5 /*
6  * File can be included directly by headers who only want to access
7  * tracepoint->key to guard out of line trace calls, or the definition of
8  * trace_print_flags{_u64}. Otherwise linux/tracepoint.h should be used.
9  */
10
11 #include <linux/atomic.h>
12 #include <linux/static_key.h>
13
14 struct trace_print_flags {
15         unsigned long           mask;
16         const char              *name;
17 };
18
19 struct trace_print_flags_u64 {
20         unsigned long long      mask;
21         const char              *name;
22 };
23
24 struct tracepoint_func {
25         void *func;
26         void *data;
27         int prio;
28 };
29
30 struct tracepoint {
31         const char *name;               /* Tracepoint name */
32         struct static_key key;
33         int (*regfunc)(void);
34         void (*unregfunc)(void);
35         struct tracepoint_func __rcu *funcs;
36 };
37
38 #endif