Hi, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> writes: > On Thu, Jul 19, 2018 at 06:57:35PM +0100, Pawel Laszczak wrote: >> This patch add additional functions that converts some fields to string. >> >> For example function usbssp_trb_comp_code_string take completion >> code value and return string describing completion code. >> >> Signed-off-by: Pawel Laszczak <pawell@xxxxxxxxxxx> >> --- >> drivers/usb/usbssp/gadget.h | 580 ++++++++++++++++++++++++++++++++++++ >> 1 file changed, 580 insertions(+) >> >> diff --git a/drivers/usb/usbssp/gadget.h b/drivers/usb/usbssp/gadget.h >> index 49e7271187cc..b5c17603af78 100644 >> --- a/drivers/usb/usbssp/gadget.h >> +++ b/drivers/usb/usbssp/gadget.h >> @@ -930,6 +930,73 @@ struct usbssp_transfer_event { >> #define COMP_UNDEFINED_ERROR 33 >> #define COMP_INVALID_STREAM_ID_ERROR 34 >> >> +static inline const char *usbssp_trb_comp_code_string(u8 status) > > <snip> > > > You have _giant_ inline functions here, why? > > Please just put this all in a .c file and let the linker properly handle > things. You do not want to duplicate all of these crazy strings all > over the place where ever you call these functions. > > And I am guessing this is only for some sort of "debugging" mode? If > so, shouldn't there be a way to not even build this in? Some systems > are very space constrained... many of them seem to be a straight copy from xhci. -- balbi