linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vinod Koul <vkoul@kernel.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: "Anders Roxell" <anders.roxell@linaro.org>,
	"Mathias Nyman" <mathias.nyman@intel.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	linux-arm-msm <linux-arm-msm@vger.kernel.org>,
	"Bjorn Andersson" <bjorn.andersson@linaro.org>,
	"Yoshihiro Shimoda" <yoshihiro.shimoda.uh@renesas.com>,
	"Christian Lamparter" <chunkeey@googlemail.com>,
	"John Stultz" <john.stultz@linaro.org>,
	"Alan Stern" <stern@rowland.harvard.edu>,
	"Andreas Böhler" <dev@aboehler.at>,
	"USB list" <linux-usb@vger.kernel.org>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v13 3/5] usb: xhci: Add support for Renesas controller with memory
Date: Tue, 19 May 2020 18:12:16 +0530	[thread overview]
Message-ID: <20200519124216.GO374218@vkoul-mobl.Dlink> (raw)
In-Reply-To: <CAK8P3a2CCwfXz8_p6zscuq21tCRZ_aHRZUa_9ov1b4sSqvL_aw@mail.gmail.com>

HI Arnd,

On 19-05-20, 09:44, Arnd Bergmann wrote:
> On Tue, May 19, 2020 at 6:53 AM Vinod Koul <vkoul@kernel.org> wrote:
> > On 19-05-20, 00:37, Anders Roxell wrote:
> > > On Mon, 18 May 2020 at 21:57, Vinod Koul <vkoul@kernel.org> wrote:
> > > > On 18-05-20, 19:53, Anders Roxell wrote:
> > > > > On Wed, 6 May 2020 at 08:01, Vinod Koul <vkoul@kernel.org> wrote:
> > > > > >
> > > > > > Some rensas controller like uPD720201 and uPD720202 need firmware to be
> > > > > > loaded. Add these devices in pci table and invoke renesas firmware loader
> > > > > > functions to check and load the firmware into device memory when
> > > > > > required.
> > > > > >
> > > > > > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > > > >
> > > > > Hi, I got a build error when I built an arm64 allmodconfig kernel.
> > > >
> > > > Thanks for this. This is happening as we have default y for USB_XHCI_PCI
> > > > and then we make USB_XHCI_PCI_RENESAS=m. That should be not allowed as
> > > > we export as symbol so both can be inbuilt or modules but USB_XHCI_PCI=y
> > > > and USB_XHCI_PCI_RENESAS=m cant. While it is valid that USB_XHCI_PCI=y|m
> > > > and USB_XHCI_PCI_RENESAS=n
> > > >
> > > > So this seems to get fixed by below for me. I have tested with
> > > >  - both y and m (easy)
> > > >  - make USB_XHCI_PCI_RENESAS=n, USB_XHCI_PCI=y|m works
> > > >  - try making USB_XHCI_PCI=y and USB_XHCI_PCI_RENESAS=m, then
> > > >    USB_XHCI_PCI=m by kbuild :)
> > > >  - try making USB_XHCI_PCI=m and USB_XHCI_PCI_RENESAS=y, kbuild gives
> > > >    error prompt that it will be m due to depends
> > > >
> > > > Thanks to all the fixes done by Arnd which pointed me to this. Pls
> > > > verify
> > >
> > > I was able to build an arm64 allmodconfig kernel with this change.
> >
> > I will send the formal patch and add your name in reported and
> > tested. Thanks for the quick verification
> 
> I just checked the patch and I think this will work correctly in all cases,
> but it still seems a bit backwards:
> 
> > > > diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
> > > > index b5c542d6a1c5..92783d175b3f 100644
> > > > --- a/drivers/usb/host/Kconfig
> > > > +++ b/drivers/usb/host/Kconfig
> > > > @@ -40,11 +40,11 @@ config USB_XHCI_DBGCAP
> > > >  config USB_XHCI_PCI
> > > >         tristate
> > > >         depends on USB_PCI
> > > > +       depends on USB_XHCI_PCI_RENESAS || !USB_XHCI_PCI_RENESAS
> > > >         default y
> > > >
> > > >  config USB_XHCI_PCI_RENESAS
> > > >         tristate "Support for additional Renesas xHCI controller with firwmare"
> > > > -       depends on USB_XHCI_PCI
> > > >         ---help---
> > > >           Say 'Y' to enable the support for the Renesas xHCI controller with
> > > >           firwmare. Make sure you have the firwmare for the device and
> > > >
> 
> I think it would have been better to follow the normal driver abstraction here
> and make the renesas xhci a specialized version of the xhci driver with
> its own platform_driver instance that calls into the generic xhci_pci module,
> rather than having the generic code treat it as a quirk.
> 
> That would be more like how we handle all the ehci and ohci variants, though
> I'm not sure how exactly it would work with two drivers having pci_device_id
> tables with non-exclusive members. Presumably the generic driver would
> still have to know that it needs to fail its probe() function on devices that
> need the firmware.

Yeah one of the earlier versions did try this and it wasn't nice. The
xhci driver claims the devices as it registers for the class. Now only
solution is to ensure we load the renesas first and resort to makefile
hacks..

-- 
~Vinod

  reply	other threads:[~2020-05-19 12:42 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-06  6:00 [PATCH v13 0/5] usb: xhci: Add support for Renesas USB controllers Vinod Koul
2020-05-06  6:00 ` [PATCH v13 1/5] usb: hci: add hc_driver as argument for usb_hcd_pci_probe Vinod Koul
2020-05-06  6:00 ` [PATCH v13 2/5] usb: renesas-xhci: Add the renesas xhci driver Vinod Koul
2020-05-19 11:45   ` Heikki Krogerus
2020-05-19 12:01     ` Vinod Koul
2020-05-19 12:51       ` Heikki Krogerus
2020-05-19 20:19     ` Christian Lamparter
2020-05-20 13:27       ` Heikki Krogerus
2020-05-06  6:00 ` [PATCH v13 3/5] usb: xhci: Add support for Renesas controller with memory Vinod Koul
2020-05-18 17:53   ` Anders Roxell
2020-05-18 19:57     ` Vinod Koul
2020-05-18 22:37       ` Anders Roxell
2020-05-19  4:53         ` Vinod Koul
2020-05-19  7:44           ` Arnd Bergmann
2020-05-19 12:42             ` Vinod Koul [this message]
2020-05-18 22:42       ` Bjorn Andersson
2020-05-06  6:00 ` [PATCH v13 4/5] usb: renesas-xhci: Add ROM loader for uPD720201 Vinod Koul
2020-05-06  6:00 ` [PATCH v13 5/5] usb: xhci: provide a debugfs hook for erasing rom Vinod Koul
2020-05-13 12:36   ` Mathias Nyman
2020-05-13 12:45     ` Greg Kroah-Hartman
2020-05-14  9:24       ` Greg Kroah-Hartman
2020-05-14 11:26         ` Vinod Koul
2020-05-14 11:46           ` Greg Kroah-Hartman
2020-05-14 12:15             ` Vinod Koul
2020-05-13 12:19 ` [PATCH v13 0/5] usb: xhci: Add support for Renesas USB controllers Mathias Nyman
2020-05-13 12:40   ` Greg Kroah-Hartman
2020-05-13 12:51     ` Mathias Nyman
2020-05-13 12:52       ` Greg Kroah-Hartman
2020-05-13 12:57         ` Vinod Koul

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200519124216.GO374218@vkoul-mobl.Dlink \
    --to=vkoul@kernel.org \
    --cc=anders.roxell@linaro.org \
    --cc=arnd@arndb.de \
    --cc=bjorn.andersson@linaro.org \
    --cc=chunkeey@googlemail.com \
    --cc=dev@aboehler.at \
    --cc=gregkh@linuxfoundation.org \
    --cc=john.stultz@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@intel.com \
    --cc=stern@rowland.harvard.edu \
    --cc=yoshihiro.shimoda.uh@renesas.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).