Hi
On 13.8.2021 22.52, Matthias Kaehlcke wrote:
Call onboard_hub_create/destroy_pdevs() from _probe()/_remove()
to create/destroy platform devices for onboard USB hubs that may
be connected to the root hub of the controller. These functions
are a NOP unless CONFIG_USB_ONBOARD_HUB=y/m.
Also add a field to struct xhci_hcd to keep track of the onboard hub
platform devices that are owned by the xHCI.
Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
---
Haven't really looked at this series until now.
Is there any reason why the xhci platform driver was selected as
the best place to create/remove these onboard hub devices?
This ties the onboard hubs to xhci, and won't work in case we have onboard
hubs connected to a ehci controllers.
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.
Thanks
Mathias