On Tue, Jun 07, 2016 at 12:36:13PM +0300, Felipe Balbi wrote: > > Hi, > > Peter Chen <hzpeterchen@xxxxxxxxx> writes: > > On Mon, Jun 06, 2016 at 04:16:17PM +0300, Felipe Balbi wrote: > >> > >> Hi, > >> > >> Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx> writes: > >> > [ Unknown signature status ] > >> > > >> > Hi, > >> > > >> > kbuild test robot <fengguang.wu@xxxxxxxxx> writes: > >> >> tree: https://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git testing/next > >> >> head: 89fe2b5ab11cdf6a67d4492d893e70e330aa7060 > >> >> commit: 231b31ca34485552fe27e67dc6d30d06079c7648 [64/67] usb: gadget: move gadget API functions to udc-core > >> >> config: x86_64-randconfig-s1-06061834 (attached as .config) > >> >> compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430 > >> >> reproduce: > >> >> git checkout 231b31ca34485552fe27e67dc6d30d06079c7648 > >> >> # save the attached .config to linux build tree > >> >> make ARCH=x86_64 > >> >> > >> >> All errors (new ones prefixed by >>): > >> >> > >> >> drivers/built-in.o: In function `nop_set_peripheral': > >> >>>> phy-generic.c:(.text+0x14423f): undefined reference to `usb_gadget_vbus_connect' > >> >> drivers/built-in.o: In function `nop_gpio_vbus_thread': > >> >>>> phy-generic.c:(.text+0x144742): undefined reference to `usb_gadget_vbus_disconnect' > >> > > >> > oh yeah, I have to fix this. I'll do it now. > >> > >> In order to fix this, I'll have to add something like below: > >> > >> diff --git a/drivers/usb/chipidea/Kconfig b/drivers/usb/chipidea/Kconfig > >> index 3644a3500b70..bd67e4ac4b61 100644 > >> --- a/drivers/usb/chipidea/Kconfig > >> +++ b/drivers/usb/chipidea/Kconfig > >> @@ -19,6 +19,7 @@ config USB_CHIPIDEA_OF > >> config USB_CHIPIDEA_PCI > >> tristate > >> depends on PCI > >> + depends on USB_GADGET=y || USB_GADGET=NOP_USB_XCEIV > >> depends on NOP_USB_XCEIV > >> default USB_CHIPIDEA > > > > Hi Felipe, > > > > It causes any drivers which use symbols from gadget.h needs to build > > USB_GADGET even it only wants to be host function. Any significant > > benefits after moving it to udc-core.c? > > why is a host-only function calling into the gadget API? > Well, Just like this case, the chipidea driver can be configured host mode only, but it still uses generic phy. Besides, we have some common code which handles vbus status, this code will be built even at host-only mode, but will not be called since the runtime condition is not satisfied, eg, dr_mode, device role at register. -- Best Regards, Peter Chen -- 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