summaryrefslogtreecommitdiff
path: root/drivers/staging/greybus/greybus_trace.h
diff options
context:
space:
mode:
authorBryan O'Donoghue <bryan.odonoghue@linaro.org>2015-09-18 16:38:44 +0100
committerGreg Kroah-Hartman <gregkh@google.com>2015-09-18 14:07:28 -0700
commitbb03ed920166a1fa2df77d5ef96ff1d749fa2967 (patch)
tree50e318d718d1cab8bcf0cedd254e85058dd1df9a /drivers/staging/greybus/greybus_trace.h
parent2e49b15763cc460cabc0713e05c7d24fb892d9ad (diff)
greybus: tracepoints: add tracepoint definitions
This patch adds greybus_trace.h with the following trace definitions - trace_gb_message_send - trace_gb_message_recv_request - trace_gb_message_recv_response - trace_gb_message_cancel_incoming - trace_gb_message_cancel_outgoing Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers/staging/greybus/greybus_trace.h')
-rw-r--r--drivers/staging/greybus/greybus_trace.h120
1 files changed, 120 insertions, 0 deletions
diff --git a/drivers/staging/greybus/greybus_trace.h b/drivers/staging/greybus/greybus_trace.h
new file mode 100644
index 000000000000..abceb3ac7a13
--- /dev/null
+++ b/drivers/staging/greybus/greybus_trace.h
@@ -0,0 +1,120 @@
+/*
+ * Greybus driver and device API
+ *
+ * Copyright 2015 Google Inc.
+ * Copyright 2015 Linaro Ltd.
+ *
+ * Released under the GPLv2 only.
+ */
+#undef TRACE_SYSTEM
+#define TRACE_SYSTEM greybus
+
+#if !defined(_TRACE_GREYBUS_H) || defined(TRACE_HEADER_MULTI_READ)
+#define _TRACE_GREYBUS_H
+
+#include <linux/tracepoint.h>
+
+struct gb_message;
+
+DECLARE_EVENT_CLASS(gb_message,
+
+ TP_PROTO(struct gb_message *message),
+
+ TP_ARGS(message),
+
+ TP_STRUCT__entry(
+ __string(name, dev_name(&message->operation->connection->dev))
+ __field(u16, op_id)
+ __field(u16, intf_cport_id)
+ __field(u16, hd_cport_id)
+ __field(size_t, payload_size)
+ ),
+
+ TP_fast_assign(
+ __assign_str(name, dev_name(&message->operation->connection->dev))
+ __entry->op_id = message->operation->id;
+ __entry->intf_cport_id =
+ message->operation->connection->intf_cport_id;
+ __entry->hd_cport_id =
+ message->operation->connection->hd_cport_id;
+ __entry->payload_size = message->payload_size;
+ ),
+
+ TP_printk("greybus:%s op=%04x if_id=%04x hd_id=%04x l=%zu",
+ __get_str(name), __entry->op_id, __entry->intf_cport_id,
+ __entry->hd_cport_id, __entry->payload_size)
+);
+
+/*
+ * tracepoint name greybus:gb_message_send
+ * description send a greybus message
+ * location operation.c:gb_message_send
+ */
+DEFINE_EVENT(gb_message, gb_message_send,
+
+ TP_PROTO(struct gb_message *message),
+
+ TP_ARGS(message)
+);
+
+/*
+ * tracepoint name greybus:gb_message_recv_request
+ * description receive a greybus request
+ * location operation.c:gb_connection_recv_request
+ */
+DEFINE_EVENT(gb_message, gb_message_recv_request,
+
+ TP_PROTO(struct gb_message *message),
+
+ TP_ARGS(message)
+);
+
+/*
+ * tracepoint name greybus:gb_message_recv_response
+ * description receive a greybus response
+ * location operation.c:gb_connection_recv_response
+ */
+DEFINE_EVENT(gb_message, gb_message_recv_response,
+
+ TP_PROTO(struct gb_message *message),
+
+ TP_ARGS(message)
+);
+
+/*
+ * tracepoint name greybus:gb_message_cancel_outgoing
+ * description cancel outgoing greybus request
+ * location operation.c:gb_message_cancel
+ */
+DEFINE_EVENT(gb_message, gb_message_cancel_outgoing,
+
+ TP_PROTO(struct gb_message *message),
+
+ TP_ARGS(message)
+);
+
+/*
+ * tracepoint name greybus:gb_message_cancel_incoming
+ * description cancel incoming greybus request
+ * location operation.c:gb_message_cancel_incoming
+ */
+DEFINE_EVENT(gb_message, gb_message_cancel_incoming,
+
+ TP_PROTO(struct gb_message *message),
+
+ TP_ARGS(message)
+);
+
+#endif /* _TRACE_GREYBUS_H */
+
+/* This part must be outside protection */
+#undef TRACE_INCLUDE_PATH
+#define TRACE_INCLUDE_PATH .
+
+/*
+ * TRACE_INCLUDE_FILE is not needed if the filename and TRACE_SYSTEM are equal
+ */
+#undef TRACE_INCLUDE_FILE
+#define TRACE_INCLUDE_FILE greybus_trace
+#include <trace/define_trace.h>
+