Subject: Re: linux-next: build failure after merge of the usb-gadget tree

From: Felipe Balbi <[email-masked]>
Date: Mon, 9 Dec 2013 13:40:32 -0600

Hi Stephen,

On Sun, Dec 08, 2013 at 10:11:52PM -0600, Felipe Balbi wrote:
> On Mon, Dec 09, 2013 at 02:58:03PM +1100, Stephen Rothwell wrote:
> > Hi Felipe,
> > 
> > After merging the usb-gadget tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> > 
> > drivers/built-in.o: In function `otg_set_state':
> > (.text+0x14f7de): undefined reference to `usb_bus_start_enum'
> > 
> > CONFIG_USB is 'm' in this build.
> > 
> > I am not sure what changed to cause this, maybe e1d2e31975e1 ("usb: phy:
> > Add OTG FSM configuration option")?
> > 
> > I have used the usb-gadget tree from next-20131206 for today.
> 
> I see what caused it, will fix it up with a patch which should probably
> be backported a few kernels back. Thanks for letting me know.

Do you still have the .config which caused that build error ? I couldn't
reproduce with CONFIG_USB=m && CONFIG_USB_OTG=y.

In any case, I believe this will help:

diff --git a/drivers/usb/core/Kconfig b/drivers/usb/core/Kconfig
index fed7f68..03cc86c 100644
--- a/drivers/usb/core/Kconfig
+++ b/drivers/usb/core/Kconfig
@@ -51,6 +51,7 @@ config USB_DYNAMIC_MINORS
 
 config USB_OTG
 	bool "OTG support"
+	depends on USB && USB_GADGET
 	depends on PM_RUNTIME
 	default n
 	help

It makes no sense to allow OTG without having both host and gadget
support.

cheers

-- 
balbi