1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #undef TRACE_SYSTEM |
3 | #define TRACE_SYSTEM gpio |
4 | |
5 | #if !defined(_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ) |
6 | #define _TRACE_GPIO_H |
7 | |
8 | #include <linux/tracepoint.h> |
9 | |
10 | TRACE_EVENT(gpio_direction, |
11 | |
12 | TP_PROTO(unsigned gpio, int in, int err), |
13 | |
14 | TP_ARGS(gpio, in, err), |
15 | |
16 | TP_STRUCT__entry( |
17 | __field(unsigned, gpio) |
18 | __field(int, in) |
19 | __field(int, err) |
20 | ), |
21 | |
22 | TP_fast_assign( |
23 | __entry->gpio = gpio; |
24 | __entry->in = in; |
25 | __entry->err = err; |
26 | ), |
27 | |
28 | TP_printk("%u %3s (%d)" , __entry->gpio, |
29 | __entry->in ? "in" : "out" , __entry->err) |
30 | ); |
31 | |
32 | TRACE_EVENT(gpio_value, |
33 | |
34 | TP_PROTO(unsigned gpio, int get, int value), |
35 | |
36 | TP_ARGS(gpio, get, value), |
37 | |
38 | TP_STRUCT__entry( |
39 | __field(unsigned, gpio) |
40 | __field(int, get) |
41 | __field(int, value) |
42 | ), |
43 | |
44 | TP_fast_assign( |
45 | __entry->gpio = gpio; |
46 | __entry->get = get; |
47 | __entry->value = value; |
48 | ), |
49 | |
50 | TP_printk("%u %3s %d" , __entry->gpio, |
51 | __entry->get ? "get" : "set" , __entry->value) |
52 | ); |
53 | |
54 | #endif /* if !defined(_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ) */ |
55 | |
56 | /* This part must be outside protection */ |
57 | #include <trace/define_trace.h> |
58 | |