Re: [PATCH v16 6/7] usb: host: xhci-plat: Create platform device for onboard hubs in probe()

From: Matthias Kaehlcke
Date: Wed Oct 20 2021 - 17:02:20 EST


On Wed, Oct 20, 2021 at 04:37:20PM -0400, Alan Stern wrote:
> On Wed, Oct 20, 2021 at 01:27:40PM -0700, Matthias Kaehlcke wrote:
> > Hi Mathias,
> >
> > On Wed, Oct 20, 2021 at 04:05:37PM +0300, Mathias Nyman wrote:
> > > If separate devices for controlling onboard hub power is the right solution then
> > > how about creating the onboard hub device in usb_add_hcd() (hcd.c), and
> > > store it in struct usb_hcd.
> > >
> > > A bit like how the roothub device is created, or PHYs are tuned.
> >
> > Sure, that sounds feasible, even better if it's handled in a single place
> > and different types of controllers don't have to add support separately.
>
> Bear in mind that this would prevent you from working with onboard
> non-root hubs.

My goal is to (architecturally) support nested hubs, but TBH I haven't
looked much into such a configuration since I don't have hardware for
testing. My assumption was that support for onboard hubs connected to
non-root hubs whould have to be added to the generic hub driver.

Could you elaborate in how far you think it would be different for
xhci_plat vs generic hcd?