summaryrefslogtreecommitdiffstats
path: root/drivers/staging/greybus/greybus_trace.h
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2016-05-23 23:05:30 -0500
committerGreg Kroah-Hartman <gregkh@google.com>2016-05-26 22:37:19 -0700
commit1f79046bd73abf5cc1dc5ad1f817a7851496ae0c (patch)
treeacb42fd27c399724261b7924af69fbfadf9ab9c7 /drivers/staging/greybus/greybus_trace.h
parentdf732546ce127e3bd8d55f4f7073aebd4482438c (diff)
downloadlinux-1f79046bd73abf5cc1dc5ad1f817a7851496ae0c.tar.bz2
greybus: tracing: fix hd traces
Currently there are two trace points defined for the Greybus host device structure. One records information when a message gets sent, and another when it gets received. Neither of these is really a host device event. We have trace points defined for messages that dump information about all sent and received messages. As a result, the information about sending messages over a host is redundant, and can go away. (Note that the message traces may need a little refinement so they produce all desired information.) Instead of these trace points, define some that are directly related to the host device abstraction: when one is created, added, deleted, or released (destroyed). These do not require a CPort ID or payload size, so eliminate those two parameters from the host device trace point prototype. Change the trace information recorded for a host device to be just a subset of interesting fields in a host device. Signed-off-by: Alex Elder <elder@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.h52
1 files changed, 31 insertions, 21 deletions
diff --git a/drivers/staging/greybus/greybus_trace.h b/drivers/staging/greybus/greybus_trace.h
index ba93873ed0e0..cbbc9596c78e 100644
--- a/drivers/staging/greybus/greybus_trace.h
+++ b/drivers/staging/greybus/greybus_trace.h
@@ -158,45 +158,55 @@ DEFINE_OPERATION_EVENT(gb_operation_put_active);
DECLARE_EVENT_CLASS(gb_host_device,
- TP_PROTO(struct gb_host_device *hd, u16 intf_cport_id,
- size_t payload_size),
+ TP_PROTO(struct gb_host_device *hd),
- TP_ARGS(hd, intf_cport_id, payload_size),
+ TP_ARGS(hd),
TP_STRUCT__entry(
- __string(name, dev_name(&hd->dev))
- __field(u16, intf_cport_id)
- __field(size_t, payload_size)
+ __field(int, bus_id)
+ __field(u8, num_cports)
+ __field(size_t, buffer_size_max)
),
TP_fast_assign(
- __assign_str(name, dev_name(&hd->dev))
- __entry->intf_cport_id = intf_cport_id;
- __entry->payload_size = payload_size;
+ __entry->bus_id = hd->bus_id;
+ __entry->num_cports = hd->num_cports;
+ __entry->buffer_size_max = hd->buffer_size_max;
),
- TP_printk("greybus:%s if_id=%u l=%zu", __get_str(name),
- __entry->intf_cport_id, __entry->payload_size)
+ TP_printk("greybus: bus_id=%d num_cports=%hu mtu=%zu",
+ __entry->bus_id, __entry->num_cports,
+ __entry->buffer_size_max)
);
#define DEFINE_HD_EVENT(name) \
DEFINE_EVENT(gb_host_device, name, \
- TP_PROTO(struct gb_host_device *hd, \
- u16 intf_cport_id, \
- size_t payload_size), \
- TP_ARGS(hd, intf_cport_id, payload_size))
+ TP_PROTO(struct gb_host_device *hd), \
+ TP_ARGS(hd))
+
+/*
+ * Occurs after a new host device is successfully created, before
+ * its SVC has been set up.
+ */
+DEFINE_HD_EVENT(gb_hd_create);
+
+/*
+ * Occurs after the last reference to a host device has been
+ * dropped.
+ */
+DEFINE_HD_EVENT(gb_hd_release);
/*
- * Occurs immediately before calling usb_submit_urb() to send a
- * message to the UniPro bridge.
+ * Occurs after a new host device has been added, after the
+ * connection to its SVC has * been enabled.
*/
-DEFINE_HD_EVENT(gb_host_device_send);
+DEFINE_HD_EVENT(gb_hd_add);
/*
- * Occurs after receiving a UniPro message via the USB subsystem,
- * just prior to handing it to the Greybus core for handling.
+ * Occurs when a host device is being disconnected from the AP USB
+ * host controller.
*/
-DEFINE_HD_EVENT(gb_host_device_recv);
+DEFINE_HD_EVENT(gb_hd_del);
#undef DEFINE_HD_EVENT