Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1170112AbdDXMpB (ORCPT ); Mon, 24 Apr 2017 08:45:01 -0400 Received: from us01smtprelay-2.synopsys.com ([198.182.60.111]:37074 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1169443AbdDXMou (ORCPT ); Mon, 24 Apr 2017 08:44:50 -0400 From: Alexey Brodkin To: "linux-usb@vger.kernel.org" CC: "jk@ozlabs.org" , "linux-kernel@vger.kernel.org" , "tglx@linutronix.de" , "nbd@nbd.name" , "linux-snps-arc@lists.infradead.org" , "stable@vger.kernel.org" , "nicolas.pitre@linaro.org" , "balbi@kernel.org" , "yamada.masahiro@socionext.com" , "frowand.list@gmail.com" , "geert+renesas@glider.be" , "gregkh@linuxfoundation.org" Subject: Re: [PATCH] usb: Make sure usb/phy/of gets built-in Thread-Topic: [PATCH] usb: Make sure usb/phy/of gets built-in Thread-Index: AQHStFIx9N3eCCp1Jkq4gK2YE9IKuqHKWdqAgACZGoCACXP1gA== Date: Mon, 24 Apr 2017 12:44:42 +0000 Message-ID: <1493037881.14501.2.camel@synopsys.com> References: <1492086814-21006-1-git-send-email-abrodkin@synopsys.com> <58F584C9.3050607@gmail.com> <1492518199.7548.8.camel@synopsys.com> In-Reply-To: <1492518199.7548.8.camel@synopsys.com> Accept-Language: en-US, ru-RU Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.225.15.124] Content-Type: text/plain; charset="utf-8" Content-ID: <05AB62339F2BBE49A7370D6AEC541E7D@internal.synopsys.com> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id v3OCjBIZ005665 Content-Length: 3192 Lines: 86 Hello, On Tue, 2017-04-18 at 12:23 +0000, Alexey Brodkin wrote: > Hello Frank, > > On Mon, 2017-04-17 at 20:15 -0700, Frank Rowand wrote: > > > > On 04/13/17 05:33, Alexey Brodkin wrote: > > > > > > > > > DWC3 driver uses of_usb_get_phy_mode() which is > > > implemented in drivers/usb/phy/of.c and in bare minimal > > > configuration it might not be pulled in kernel binary. > > > > > > In case of ARC or ARM this could be easily reproduced with > > > "allnodefconfig" +CONFIG_USB=m +CONFIG_USB_DWC3=m. > > > > > > On building all ends-up with: > > > ---------------------->8------------------ > > >   Kernel: arch/arm/boot/Image is ready > > >   Kernel: arch/arm/boot/zImage is ready > > >   Building modules, stage 2. > > >   MODPOST 5 modules > > > ERROR: "of_usb_get_phy_mode" [drivers/usb/dwc3/dwc3.ko] undefined! > > > make[1]: *** [__modpost] Error 1 > > > make: *** [modules] Error 2 > > > ---------------------->8------------------ > > > > > > Signed-off-by: Alexey Brodkin > > > Cc: Greg Kroah-Hartman > > > Cc: Masahiro Yamada > > > Cc: Geert Uytterhoeven > > > Cc: Nicolas Pitre > > > Cc: Thomas Gleixner > > > Cc: Felipe Balbi > > > Cc: Felix Fietkau > > > Cc: Jeremy Kerr > > > Cc: linux-snps-arc@lists.infradead.org > > > Cc: stable@vger.kernel.org > > > --- > > >  drivers/Makefile | 1 + > > >  1 file changed, 1 insertion(+) > > > > > > diff --git a/drivers/Makefile b/drivers/Makefile > > > index 2eced9afba53..8f8bdc9e3d29 100644 > > > --- a/drivers/Makefile > > > +++ b/drivers/Makefile > > > @@ -104,6 +104,7 @@ obj-$(CONFIG_USB_PHY) += usb/ > > >  obj-$(CONFIG_USB) += usb/ > > >  obj-$(CONFIG_PCI) += usb/ > > >  obj-$(CONFIG_USB_GADGET) += usb/ > > > > > > > > > > > +obj-$(CONFIG_OF) += usb/ > > > > Would CONFIG_USB_SUPPORT make more sense? (And does it work?) > > Well I'm not really sure here. > > The problem was in missing "drivers/usb/phy/of.o" in "drivers/usb/built-in.o". > So I took a look at how components get enabled and saw quite mixed stuff. > > In "drivers/usb/phy/Makefile" we see: > ------------------------->8--------------------------- > obj-$(CONFIG_OF)»       »       »       += of.o > ------------------------->8--------------------------- > > In "drivers/usb/Makefile" we see: > ------------------------->8--------------------------- > obj-$(CONFIG_USB_SUPPORT)»      += phy/ > ------------------------->8--------------------------- > > From above I may conclude that your proposal should work as well > but it's more a question of which approach is safer and more future proof. > > Maybe it even worth adding the following to "drivers/usb/Makefile": > ------------------------->8--------------------------- > obj-$(CONFIG_USB_SUPPORT)»      += phy/ > ------------------------->8--------------------------- I'm wondering if there're any other thoughts on this one? The patch fixes a real problem and it would be good to get this or similar fix upstream. -Alexey