Commit 3587f36a authored by Felipe Balbi's avatar Felipe Balbi

usb: dwc3: debug: remove static char buffer from dwc3_decode_event()

Instead, we can require caller to pass a buffer for the function to
use. This cleans things quite a bit.
Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
parent e42f09b8
...@@ -173,9 +173,8 @@ static inline const char *dwc3_ep0_state_string(enum dwc3_ep0_state state) ...@@ -173,9 +173,8 @@ static inline const char *dwc3_ep0_state_string(enum dwc3_ep0_state state)
* @event: the event code * @event: the event code
*/ */
static inline const char * static inline const char *
dwc3_gadget_event_string(const struct dwc3_event_devt *event) dwc3_gadget_event_string(char *str, const struct dwc3_event_devt *event)
{ {
static char str[256];
enum dwc3_link_state state = event->event_info & DWC3_LINK_STATE_MASK; enum dwc3_link_state state = event->event_info & DWC3_LINK_STATE_MASK;
switch (event->type) { switch (event->type) {
...@@ -228,10 +227,10 @@ dwc3_gadget_event_string(const struct dwc3_event_devt *event) ...@@ -228,10 +227,10 @@ dwc3_gadget_event_string(const struct dwc3_event_devt *event)
* @event: then event code * @event: then event code
*/ */
static inline const char * static inline const char *
dwc3_ep_event_string(const struct dwc3_event_depevt *event, u32 ep0state) dwc3_ep_event_string(char *str, const struct dwc3_event_depevt *event,
u32 ep0state)
{ {
u8 epnum = event->endpoint_number; u8 epnum = event->endpoint_number;
static char str[256];
size_t len; size_t len;
int status; int status;
int ret; int ret;
...@@ -332,14 +331,14 @@ static inline const char *dwc3_gadget_event_type_string(u8 event) ...@@ -332,14 +331,14 @@ static inline const char *dwc3_gadget_event_type_string(u8 event)
} }
} }
static inline const char *dwc3_decode_event(u32 event, u32 ep0state) static inline const char *dwc3_decode_event(char *str, u32 event, u32 ep0state)
{ {
const union dwc3_event evt = (union dwc3_event) event; const union dwc3_event evt = (union dwc3_event) event;
if (evt.type.is_devspec) if (evt.type.is_devspec)
return dwc3_gadget_event_string(&evt.devt); return dwc3_gadget_event_string(str, &evt.devt);
else else
return dwc3_ep_event_string(&evt.depevt, ep0state); return dwc3_ep_event_string(str, &evt.depevt, ep0state);
} }
static inline const char *dwc3_ep_cmd_status_string(int status) static inline const char *dwc3_ep_cmd_status_string(int status)
......
...@@ -60,13 +60,15 @@ DECLARE_EVENT_CLASS(dwc3_log_event, ...@@ -60,13 +60,15 @@ DECLARE_EVENT_CLASS(dwc3_log_event,
TP_STRUCT__entry( TP_STRUCT__entry(
__field(u32, event) __field(u32, event)
__field(u32, ep0state) __field(u32, ep0state)
__dynamic_array(char, str, DWC3_MSG_MAX)
), ),
TP_fast_assign( TP_fast_assign(
__entry->event = event; __entry->event = event;
__entry->ep0state = dwc->ep0state; __entry->ep0state = dwc->ep0state;
), ),
TP_printk("event (%08x): %s", __entry->event, TP_printk("event (%08x): %s", __entry->event,
dwc3_decode_event(__entry->event, __entry->ep0state)) dwc3_decode_event(__get_str(str), __entry->event,
__entry->ep0state))
); );
DEFINE_EVENT(dwc3_log_event, dwc3_event, DEFINE_EVENT(dwc3_log_event, dwc3_event,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment