1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 23f397c21SUwe Kleine-König #undef TRACE_SYSTEM 33f397c21SUwe Kleine-König #define TRACE_SYSTEM gpio 43f397c21SUwe Kleine-König 53f397c21SUwe Kleine-König #if !defined(_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ) 63f397c21SUwe Kleine-König #define _TRACE_GPIO_H 73f397c21SUwe Kleine-König 83f397c21SUwe Kleine-König #include <linux/tracepoint.h> 93f397c21SUwe Kleine-König 103f397c21SUwe Kleine-König TRACE_EVENT(gpio_direction, 113f397c21SUwe Kleine-König 123f397c21SUwe Kleine-König TP_PROTO(unsigned gpio, int in, int err), 133f397c21SUwe Kleine-König 143f397c21SUwe Kleine-König TP_ARGS(gpio, in, err), 153f397c21SUwe Kleine-König 163f397c21SUwe Kleine-König TP_STRUCT__entry( 173f397c21SUwe Kleine-König __field(unsigned, gpio) 183f397c21SUwe Kleine-König __field(int, in) 193f397c21SUwe Kleine-König __field(int, err) 203f397c21SUwe Kleine-König ), 213f397c21SUwe Kleine-König 223f397c21SUwe Kleine-König TP_fast_assign( 233f397c21SUwe Kleine-König __entry->gpio = gpio; 243f397c21SUwe Kleine-König __entry->in = in; 253f397c21SUwe Kleine-König __entry->err = err; 263f397c21SUwe Kleine-König ), 273f397c21SUwe Kleine-König 283f397c21SUwe Kleine-König TP_printk("%u %3s (%d)", __entry->gpio, 293f397c21SUwe Kleine-König __entry->in ? "in" : "out", __entry->err) 303f397c21SUwe Kleine-König ); 313f397c21SUwe Kleine-König 323f397c21SUwe Kleine-König TRACE_EVENT(gpio_value, 333f397c21SUwe Kleine-König 343f397c21SUwe Kleine-König TP_PROTO(unsigned gpio, int get, int value), 353f397c21SUwe Kleine-König 363f397c21SUwe Kleine-König TP_ARGS(gpio, get, value), 373f397c21SUwe Kleine-König 383f397c21SUwe Kleine-König TP_STRUCT__entry( 393f397c21SUwe Kleine-König __field(unsigned, gpio) 403f397c21SUwe Kleine-König __field(int, get) 413f397c21SUwe Kleine-König __field(int, value) 423f397c21SUwe Kleine-König ), 433f397c21SUwe Kleine-König 443f397c21SUwe Kleine-König TP_fast_assign( 453f397c21SUwe Kleine-König __entry->gpio = gpio; 463f397c21SUwe Kleine-König __entry->get = get; 473f397c21SUwe Kleine-König __entry->value = value; 483f397c21SUwe Kleine-König ), 493f397c21SUwe Kleine-König 503f397c21SUwe Kleine-König TP_printk("%u %3s %d", __entry->gpio, 513f397c21SUwe Kleine-König __entry->get ? "get" : "set", __entry->value) 523f397c21SUwe Kleine-König ); 533f397c21SUwe Kleine-König 543f397c21SUwe Kleine-König #endif /* if !defined(_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ) */ 553f397c21SUwe Kleine-König 563f397c21SUwe Kleine-König /* This part must be outside protection */ 573f397c21SUwe Kleine-König #include <trace/define_trace.h> 58