Add kernel probes for supplementary subsystems
[lttng-modules.git] / instrumentation / events / lttng-module / gpio.h
diff --git a/instrumentation/events/lttng-module/gpio.h b/instrumentation/events/lttng-module/gpio.h
new file mode 100644 (file)
index 0000000..e6002c4
--- /dev/null
@@ -0,0 +1,56 @@
+#undef TRACE_SYSTEM
+#define TRACE_SYSTEM gpio
+
+#if !defined(_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ)
+#define _TRACE_GPIO_H
+
+#include <linux/tracepoint.h>
+
+TRACE_EVENT(gpio_direction,
+
+       TP_PROTO(unsigned gpio, int in, int err),
+
+       TP_ARGS(gpio, in, err),
+
+       TP_STRUCT__entry(
+               __field(unsigned, gpio)
+               __field(int, in)
+               __field(int, err)
+       ),
+
+       TP_fast_assign(
+               tp_assign(gpio, gpio);
+               tp_assign(in, in);
+               tp_assign(err, err);
+       ),
+
+       TP_printk("%u %3s (%d)", __entry->gpio,
+               __entry->in ? "in" : "out", __entry->err)
+)
+
+TRACE_EVENT(gpio_value,
+
+       TP_PROTO(unsigned gpio, int get, int value),
+
+       TP_ARGS(gpio, get, value),
+
+       TP_STRUCT__entry(
+               __field(unsigned, gpio)
+               __field(int, get)
+               __field(int, value)
+       ),
+
+       TP_fast_assign(
+               tp_assign(gpio, gpio);
+               tp_assign(get, get);
+               tp_assign(value, value);
+       ),
+
+       TP_printk("%u %3s %d", __entry->gpio,
+               __entry->get ? "get" : "set", __entry->value)
+)
+
+#endif /* if !defined(_TRACE_GPIO_H) || defined(TRACE_HEADER_MULTI_READ) */
+
+/* This part must be outside protection */
+#include "../../../probes/define_trace.h"
This page took 0.02363 seconds and 4 git commands to generate.