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

From: Mathias Nyman
Date: Wed Oct 20 2021 - 09:04:25 EST


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@xxxxxxxxxxxx>
> ---

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