On Tue, Jul 17, 2012 at 08:34:39PM +0200, Marc Kleine-Budde wrote: > On 07/17/2012 07:47 PM, Greg KH wrote: > > On Mon, Jul 16, 2012 at 10:18:20PM +0200, Marc Kleine-Budde wrote: > >> Since commit "5e0aa49 usb: chipidea: use generic map/unmap routines", > >> the udc part of the chipidea driver needs the generic usb gadget helper > >> functions. If the chipidea driver with udc support is built into the > >> kernel and usb gadget is built a module, the linking of the kernel > >> fails with: > >> > >> drivers/built-in.o: In function `_hardware_dequeue': > >> drivers/usb/chipidea/udc.c:527: > >> undefined reference to `usb_gadget_unmap_request' > >> drivers/usb/chipidea/udc.c:1269: > >> undefined reference to `usb_gadget_unmap_request' > >> drivers/usb/chipidea/udc.c:1821: > >> undefined reference to `usb_del_gadget_udc' > >> drivers/usb/chipidea/udc.c:443: > >> undefined reference to `usb_gadget_map_request' > >> drivers/usb/chipidea/udc.c:1774: > >> undefined reference to `usb_add_gadget_udc' > >> > >> This patch changes the dependencies, so that udc support can only be > >> activated if the linux gadget support (USB_GADGET) is builtin or both > >> chipidea driver and USB_GADGET are modular. Same dependencies for the > >> chipidea host support and the linux host side USB support (USB). > > > > Shouldn't you just properly export the above functions? > > These function are exported. > > > Hm, they are already exported, so you really shouldn't have to do these > > Kconfig gyrations. > > The problem is, one half of the functions comes from the USB host > subsystem, the other half from the USB gadget subsystem.So the driver > can only be built into the kernel (with host+udc support) if both USB > host and USB gadget are built in. <snip> Ok what a mess. But, to top it all off, this patch doesn't apply to my tree. Care to refresh it against usb-next so that I can apply it? thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html