diff options
author | Alex Elder <elder@linaro.org> | 2016-05-23 23:05:30 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@google.com> | 2016-05-26 22:37:19 -0700 |
commit | 1f79046bd73abf5cc1dc5ad1f817a7851496ae0c (patch) | |
tree | acb42fd27c399724261b7924af69fbfadf9ab9c7 /drivers/staging/greybus/greybus_trace.h | |
parent | df732546ce127e3bd8d55f4f7073aebd4482438c (diff) | |
download | linux-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.h | 52 |
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 |