some trace event use an integer to save a bit field info of gadget, also some trace save endpoint name in string forat, it all can be chagned to other way at trace event store phase. save one integer member which can parse it for multiple bit field information. ep name stringe can be replace to a integer which contaion number and dir info. in order to make sure bit field have same bit postion in memory for little and big endian, define the bit fields differently according host cpu endian type. v1: https://lore.kernel.org/linux-usb/20230911042843.2711-1-quic_linyyuan@xxxxxxxxxxx/ v2: fix two compile issues that COMPILE_TEST not covered https://lore.kernel.org/linux-usb/20230911112446.1791-1-quic_linyyuan@xxxxxxxxxxx/ v3: fix reviewer comments, allow bit fields work on both little and big endian https://lore.kernel.org/linux-usb/20230912104455.7737-1-quic_linyyuan@xxxxxxxxxxx/ v4: add DECLARE_EVENT_CLASS_PRINT_INIT() new trace class and use it https://lore.kernel.org/linux-usb/20230914100302.30274-1-quic_linyyuan@xxxxxxxxxxx/ v5: use cpu_to_le32() at fast assign stage to fix endian issue https://lore.kernel.org/linux-usb/20230915051123.26486-1-quic_linyyuan@xxxxxxxxxxx/ v6: missing three cpu_to_le32() usage in dwc3 trace https://lore.kernel.org/linux-usb/20230915052716.28540-1-quic_linyyuan@xxxxxxxxxxx/ v7: define bit field according cpu endian type, remove wrong cpu_to_le32() usage which point by Alan Stern. Linyu Yuan (4): usb: gadget: remove UDC_TRACE_STR_MAX definition usb: gadget: add anonymous definition in some struct for trace purpose usb: udc: trace: reduce buffer usage of trace event usb: dwc3: trace: reduce buffer usage of trace event drivers/usb/dwc3/trace.h | 63 ++++---- drivers/usb/gadget/udc/trace.h | 114 ++++---------- include/linux/usb/gadget.h | 268 +++++++++++++++++++++++++++------ 3 files changed, 285 insertions(+), 160 deletions(-) -- 2.17.1