On Tue, Sep 11, 2018 at 08:48:43AM +0300, Felipe Balbi wrote: > > 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. Which doesn't mean it's a great model to copy :) Let's learn from our past mistakes, having had to try to slim down a kernel for a limited memory system is a chore that no one should have to manually hack up the source tree just to accomplish it. thanks, greg k-h