* Re: [PATCH] usb: Make sure usb/phy/of gets built-in
@ 2017-04-18 12:23 ` Alexey Brodkin
0 siblings, 0 replies; 9+ messages in thread
From: Alexey Brodkin @ 2017-04-18 12:23 UTC (permalink / raw)
To: frowand.list@gmail.com
Cc: jk@ozlabs.org, linux-kernel@vger.kernel.org,
linux-usb@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, geert+renesas@glider.be,
gregkh@linuxfoundation.org
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 <abrodkin@synopsys.com>
> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
> > Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> > Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
> > Cc: Thomas Gleixner <tglx@linutronix.de>
> > Cc: Felipe Balbi <balbi@kernel.org>
> > Cc: Felix Fietkau <nbd@nbd.name>
> > Cc: Jeremy Kerr <jk@ozlabs.org>
> > 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---------------------------
Any thoughts are more than welcome.
-Alexey
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] usb: Make sure usb/phy/of gets built-in
@ 2017-04-18 12:23 ` Alexey Brodkin
0 siblings, 0 replies; 9+ messages in thread
From: Alexey Brodkin @ 2017-04-18 12:23 UTC (permalink / raw)
To: frowand.list@gmail.com
Cc: jk@ozlabs.org, linux-kernel@vger.kernel.org,
linux-usb@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, geert+renesas@glider.be,
gregkh@linuxfoundation.org
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 <abrodkin@synopsys.com>
> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
> > Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> > Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
> > Cc: Thomas Gleixner <tglx@linutronix.de>
> > Cc: Felipe Balbi <balbi@kernel.org>
> > Cc: Felix Fietkau <nbd@nbd.name>
> > Cc: Jeremy Kerr <jk@ozlabs.org>
> > 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---------------------------
Any thoughts are more than welcome.
-Alexey
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] usb: Make sure usb/phy/of gets built-in
2017-04-18 12:23 ` Alexey Brodkin
@ 2017-04-24 12:44 ` Alexey Brodkin
-1 siblings, 0 replies; 9+ messages in thread
From: Alexey Brodkin @ 2017-04-24 12:44 UTC (permalink / raw)
To: linux-snps-arc
Hello,
On Tue, 2017-04-18@12:23 +0000, Alexey Brodkin wrote:
> Hello Frank,
>
> On Mon, 2017-04-17@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 <abrodkin at synopsys.com>
> > > Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> > > Cc: Masahiro Yamada <yamada.masahiro at socionext.com>
> > > Cc: Geert Uytterhoeven <geert+renesas at glider.be>
> > > Cc: Nicolas Pitre <nicolas.pitre at linaro.org>
> > > Cc: Thomas Gleixner <tglx at linutronix.de>
> > > Cc: Felipe Balbi <balbi at kernel.org>
> > > Cc: Felix Fietkau <nbd at nbd.name>
> > > Cc: Jeremy Kerr <jk at ozlabs.org>
> > > Cc: linux-snps-arc at lists.infradead.org
> > > Cc: stable at 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
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] usb: Make sure usb/phy/of gets built-in
@ 2017-04-24 12:44 ` Alexey Brodkin
0 siblings, 0 replies; 9+ messages in thread
From: Alexey Brodkin @ 2017-04-24 12:44 UTC (permalink / raw)
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
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 <abrodkin@synopsys.com>
> > > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > > Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
> > > Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> > > Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
> > > Cc: Thomas Gleixner <tglx@linutronix.de>
> > > Cc: Felipe Balbi <balbi@kernel.org>
> > > Cc: Felix Fietkau <nbd@nbd.name>
> > > Cc: Jeremy Kerr <jk@ozlabs.org>
> > > 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
^ permalink raw reply [flat|nested] 9+ messages in thread