Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
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 /* if !defined(_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ) */
0055 
0056 /* This part must be outside protection */
0057 #include <trace/define_trace.h>