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