Re: [PATCH 02/31] usb: usbssp: Added some decoding functions.

From: Greg Kroah-Hartman
Date: Mon Sep 10 2018 - 14:19:01 EST


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...

thanks,

greg k-h