diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2011-05-20 02:40:19 -0400 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2011-05-20 02:40:19 -0400 |
commit | 3f397c2144e46d9127662fdb6314f21960d8563d (patch) | |
tree | ef3401a6ac7e3b394ec10a1c586f5c1949b23edb /include/trace/events/gpio.h | |
parent | cc300d9ead66235e23c674babb8a4ae4ad4c9db8 (diff) |
gpio: add trace events for setting direction and value
This patch allows to trace gpio operations using ftrace
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'include/trace/events/gpio.h')
-rw-r--r-- | include/trace/events/gpio.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/include/trace/events/gpio.h b/include/trace/events/gpio.h new file mode 100644 index 000000000000..927a8ad9e51b --- /dev/null +++ b/include/trace/events/gpio.h | |||
@@ -0,0 +1,56 @@ | |||
1 | #undef TRACE_SYSTEM | ||
2 | #define TRACE_SYSTEM gpio | ||
3 | |||
4 | #if !defined(_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ) | ||
5 | #define _TRACE_GPIO_H | ||
6 | |||
7 | #include <linux/tracepoint.h> | ||
8 | |||
9 | TRACE_EVENT(gpio_direction, | ||
10 | |||
11 | TP_PROTO(unsigned gpio, int in, int err), | ||
12 | |||
13 | TP_ARGS(gpio, in, err), | ||
14 | |||
15 | TP_STRUCT__entry( | ||
16 | __field(unsigned, gpio) | ||
17 | __field(int, in) | ||
18 | __field(int, err) | ||
19 | ), | ||
20 | |||
21 | TP_fast_assign( | ||
22 | __entry->gpio = gpio; | ||
23 | __entry->in = in; | ||
24 | __entry->err = err; | ||
25 | ), | ||
26 | |||
27 | TP_printk("%u %3s (%d)", __entry->gpio, | ||
28 | __entry->in ? "in" : "out", __entry->err) | ||
29 | ); | ||
30 | |||
31 | TRACE_EVENT(gpio_value, | ||
32 | |||
33 | TP_PROTO(unsigned gpio, int get, int value), | ||
34 | |||
35 | TP_ARGS(gpio, get, value), | ||
36 | |||
37 | TP_STRUCT__entry( | ||
38 | __field(unsigned, gpio) | ||
39 | __field(int, get) | ||
40 | __field(int, value) | ||
41 | ), | ||
42 | |||
43 | TP_fast_assign( | ||
44 | __entry->gpio = gpio; | ||
45 | __entry->get = get; | ||
46 | __entry->value = value; | ||
47 | ), | ||
48 | |||
49 | TP_printk("%u %3s %d", __entry->gpio, | ||
50 | __entry->get ? "get" : "set", __entry->value) | ||
51 | ); | ||
52 | |||
53 | #endif /* if !defined(_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ) */ | ||
54 | |||
55 | /* This part must be outside protection */ | ||
56 | #include <trace/define_trace.h> | ||