Skip to content
  • Arnd Bergmann's avatar
    staging: emxx_udc: allow modular build · 0bf048ab
    Arnd Bergmann authored
    A change to the usb gadget core allowed certain API functions to be
    part of a loadable module, which breaks having emxx_udc built-in:
    
    drivers/staging/built-in.o: In function `nbu2ss_drv_probe':
    (.text+0x2428): undefined reference to `usb_ep_set_maxpacket_limit'
    
    The original patch already fixed tons of other cases that have the
    added dependency but apparently missed this one that now appears
    in an ARM allmodconfig build.
    
    This patch makes the symbol "tristate", which lets the Kconfig
    dependency tracking handle it correctly. To make the module
    actually usable, I also revert 0af61e66
    
     ("drivers/staging:
    make emxx_udc.c explicitly non-modular"), which Paul Gortmaker
    added after noticing that the Kconfig symbol was 'bool'.
    Compared to the original version however, I leave out the
    '__exit' annotation on the remove callback, as Paul pointed
    out that this was incorrect.
    
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Fixes: 5a8d651a
    
     ("usb: gadget: move gadget API functions to udc-core")
    Acked-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    0bf048ab