Linux 6.9-rc6
[sfrench/cifs-2.6.git] / include / trace / events / gpio.h
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>