Subject: Re: [PATCH, RESEND] staging: emxx_udc: allow modular build

From: Felipe Balbi <[email-masked]>
Date: Tue, 05 Jul 2016 13:06:02 +0300

Hi,

Arnd Bergmann <[email-masked]> writes:
> 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 0af61e66ee16 ("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: Arnd Bergmann <[email-masked]>
> Fixes: 5a8d651a2bde ("usb: gadget: move gadget API functions to udc-core")

Sorry guys, I didn't know we had UDC drivers sitting in staging.

Acked-by: Felipe Balbi <[email-masked]>

-- 
balbi