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?