lkml.org 
[lkml]   [2008]   [Oct]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 19/46] usb gadget: link fixes for printer gadget
    Date
    From: David Brownell <dbrownell@users.sourceforge.net>

    Change how the printer gadget driver builds: don't use
    separate compilation, since it works poorly when key parts
    are library code (with init sections etc). Instead be as
    close as we can to "gcc --combine ...".

    Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ---
    drivers/usb/gadget/Makefile | 3 +--
    drivers/usb/gadget/printer.c | 14 ++++++++++++++
    2 files changed, 15 insertions(+), 2 deletions(-)

    diff --git a/drivers/usb/gadget/Makefile b/drivers/usb/gadget/Makefile
    index c47204f..99956b7 100644
    --- a/drivers/usb/gadget/Makefile
    +++ b/drivers/usb/gadget/Makefile
    @@ -31,8 +31,7 @@ g_midi-objs := gmidi.o
    gadgetfs-objs := inode.o
    g_file_storage-objs := file_storage.o usbstring.o config.o \
    epautoconf.o
    -g_printer-objs := printer.o usbstring.o config.o \
    - epautoconf.o
    +g_printer-objs := printer.o
    g_cdc-objs := cdc2.o u_ether.o f_ecm.o \
    u_serial.o f_acm.o $(C_UTILS)

    diff --git a/drivers/usb/gadget/printer.c b/drivers/usb/gadget/printer.c
    index 7a8d4a1..2b3b9e1 100644
    --- a/drivers/usb/gadget/printer.c
    +++ b/drivers/usb/gadget/printer.c
    @@ -53,6 +53,20 @@

    #include "gadget_chips.h"

    +
    +/*
    + * Kbuild is not very cooperative with respect to linking separately
    + * compiled library objects into one module. So for now we won't use
    + * separate compilation ... ensuring init/exit sections work to shrink
    + * the runtime footprint, and giving us at least some parts of what
    + * a "gcc --combine ... part1.c part2.c part3.c ... " build would.
    + */
    +#include "usbstring.c"
    +#include "config.c"
    +#include "epautoconf.c"
    +
    +/*-------------------------------------------------------------------------*/
    +
    #define DRIVER_DESC "Printer Gadget"
    #define DRIVER_VERSION "2007 OCT 06"

    --
    1.6.0.2


    \
     
     \ /
      Last update: 2008-10-16 19:25    [W:2.867 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site