0001
0002 #undef TRACE_SYSTEM
0003 #define TRACE_SYSTEM gpio
0004
0005 #if !defined(_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ)
0006 #define _TRACE_GPIO_H
0007
0008 #include <linux/tracepoint.h>
0009
0010 TRACE_EVENT(gpio_direction,
0011
0012 TP_PROTO(unsigned gpio, int in, int err),
0013
0014 TP_ARGS(gpio, in, err),
0015
0016 TP_STRUCT__entry(
0017 __field(unsigned, gpio)
0018 __field(int, in)
0019 __field(int, err)
0020 ),
0021
0022 TP_fast_assign(
0023 __entry->gpio = gpio;
0024 __entry->in = in;
0025 __entry->err = err;
0026 ),
0027
0028 TP_printk("%u %3s (%d)", __entry->gpio,
0029 __entry->in ? "in" : "out", __entry->err)
0030 );
0031
0032 TRACE_EVENT(gpio_value,
0033
0034 TP_PROTO(unsigned gpio, int get, int value),
0035
0036 TP_ARGS(gpio, get, value),
0037
0038 TP_STRUCT__entry(
0039 __field(unsigned, gpio)
0040 __field(int, get)
0041 __field(int, value)
0042 ),
0043
0044 TP_fast_assign(
0045 __entry->gpio = gpio;
0046 __entry->get = get;
0047 __entry->value = value;
0048 ),
0049
0050 TP_printk("%u %3s %d", __entry->gpio,
0051 __entry->get ? "get" : "set", __entry->value)
0052 );
0053
0054 #endif
0055
0056
0057 #include <trace/define_trace.h>