• L
    USB: makes usb_endpoint_* functions inline. · 0c1ac4f2
    Luiz Fernando N. Capitulino 提交于
    We have no benefits of having the usb_endpoint_* functions as functions,
    but making them inline saves text and data segment sizes:
    
    text	   data	    bss	    dec	    hex	filename
    14893634	3108770	1108840	19111244	1239d4c	vmlinux.func
    14893185	3108566	1108840	19110591	1239abf	vmlinux.inline
    
     This is the result of a 2.6.19-rc3 kernel compiled with GCC 4.1.1 without
    CONFIG_MODULES, CONFIG_CC_OPTIMIZE_FOR_SIZE, CONFIG_REGPARM options set.
    USB support is fully enabled (while most of the other drivers are not),
    and that kernel has most of the USB code ported to use the endpoint
    functions.
    
    That happens because a call to those functions are expensive (in terms
    of bytes), while the function's size is smaller or have the same 'size' of
    the call.
    Signed-off-by: NLuiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
    0c1ac4f2
usb.c 27.3 KB