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: Felipe Balbi <felipe.balbi@linux.intel.com>
This commit is contained in:
parent
e42f09b85f
commit
3587f36a12
@ -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)
|
|||||||
* @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)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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,
|
|||||||
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,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user