Re: [PATCH] usb: hide usb_of_get_companion_dev for CONFIG_USB=n

2018-08-20 Thread Arnd Bergmann
On Mon, Aug 20, 2018 at 5:22 AM Yoshihiro Shimoda
 wrote:
> > From: Arnd Bergmann, Sent: Tuesday, August 14, 2018 11:27 PM
> >
> > On Tue, Aug 14, 2018 at 3:58 PM Alan Stern  
> > wrote:
> > > On Mon, 13 Aug 2018, Arnd Bergmann wrote:
> > > > diff --git a/drivers/usb/gadget/udc/Kconfig 
> > > > b/drivers/usb/gadget/udc/Kconfig
> > > > index 0a16cbd4e528..663a8bd67a7b 100644
> > > > --- a/drivers/usb/gadget/udc/Kconfig
> > > > +++ b/drivers/usb/gadget/udc/Kconfig
> > > > @@ -193,6 +193,7 @@ config USB_RENESAS_USB3
> > > >   tristate 'Renesas USB3.0 Peripheral controller'
> > > >   depends on ARCH_RENESAS || COMPILE_TEST
> > > >   depends on EXTCON
> > > > + depends on USB || !USB
> > >
> > > Is this some weird standard idiom?  It looks really strange.
> >
> > Yes, and yes.
> >
> > A less common way to write it is
> >
> > depends on (USB != m) || m
> >
> > which some people prefer, but I find even weirder.
>
> Thank you for the patch!
>
> On other thread, John mentions gadget-side drivers should not depend on 
> host-side [1].
> So, I submitted a patch today [2]. What do you think about my submitted patch?
>
> [1]
> https://marc.info/?l=linux-usb=153433776202861=2

I don't really think this is a big issue, as you can still build the driver
with CONFIG_USB=n, so it's not a strict dependency.

> [2]
> https://patchwork.kernel.org/patch/10569847/

On the other hand, your patch looks nice and is somewhat
less confusing, so you have my Ack on that.

  Arnd


Re: [PATCH] usb: hide usb_of_get_companion_dev for CONFIG_USB=n

2018-08-14 Thread Alan Stern
On Mon, 13 Aug 2018, Arnd Bergmann wrote:

> The renesas UDC implementation now calls usb_of_get_companion_dev(),
> which is only defined when CONFIG_USB is enabled:
> 
> drivers/usb/gadget/udc/renesas_usb3.o: In function `renesas_usb3_probe':
> renesas_usb3.c:(.text+0xa34): undefined reference to 
> `usb_of_get_companion_dev'
> 
> To avoid the build error, we need two changes:
> 
> - usb_of_get_companion_dev must be stubbed out when CONFIG_USB is
>   disabled, so it the udc driver can be built for a gadget-only
>   mode kernel
> - With CONFIG_USB=m, we must not attempt to have USB_RENESAS_USB3
>   built-in, so we need a soft dependency on USB.
> 
> Fixes: 39facfa01c9f ("usb: gadget: udc: renesas_usb3: Add register of usb 
> role switch")
> Signed-off-by: Arnd Bergmann 
> ---
>  drivers/usb/gadget/udc/Kconfig | 1 +
>  include/linux/usb/of.h | 6 +-
>  2 files changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/gadget/udc/Kconfig b/drivers/usb/gadget/udc/Kconfig
> index 0a16cbd4e528..663a8bd67a7b 100644
> --- a/drivers/usb/gadget/udc/Kconfig
> +++ b/drivers/usb/gadget/udc/Kconfig
> @@ -193,6 +193,7 @@ config USB_RENESAS_USB3
>   tristate 'Renesas USB3.0 Peripheral controller'
>   depends on ARCH_RENESAS || COMPILE_TEST
>   depends on EXTCON
> + depends on USB || !USB

Is this some weird standard idiom?  It looks really strange.

Alan Stern