Re: [PATCH v17 3/7] usb: core: hcd: Create platform devices for onboard hubs in probe()

From: Doug Anderson
Date: Wed Nov 17 2021 - 19:11:23 EST


Hi,

On Tue, Nov 16, 2021 at 12:07 PM Matthias Kaehlcke <mka@xxxxxxxxxxxx> wrote:
>
> Call onboard_hub_create/destroy_pdevs() from usb_add/remove_hcd()
> for primary HCDs 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 usb_hcd to keep track of the onboard hub
> platform devices that are owned by the HCD.
>
> Signed-off-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx>
> ---
>
> Changes in v17:
> - create the platform devices in the generic HCD code instead of
> the xhci_platform driver
> - updated subject and commit message to reflect the above change
> - dropped initialization of platform device list, which is now
> done in onboard_hub_create_pdevs()
>
> Changes in v16:
> - none
>
> Changes in v15:
> - none
>
> Changes in v14:
> - none
>
> Changes in v13:
> - added comment for 'depends on USB_ONBOARD_HUB || !USB_ONBOARD_HUB'
> construct
>
> Changes in v12:
> - none
>
> Changes in v11:
> - use onboard_hub_create/destroy_pdevs() to support multiple onboard
> hubs that are connected to the same root hub
> - moved field/list to keep track of platform devices from struct
> usb_hcd to struct xhci_hcd
> - updated commit message
>
> Changes in v10:
> - none
>
> Changes in v9:
> - added dependency on USB_ONBOARD_HUB (or !!USB_ONBOARD_HUB) to
> USB_XHCI_PLATFORM
>
> Changes in v8:
> - none
>
> Changes in v7:
> - none
>
> Changes in v6:
> - none
>
> Changes in v5:
> - patch added to the series
>
> drivers/usb/core/hcd.c | 6 ++++++
> include/linux/usb/hcd.h | 1 +
> 2 files changed, 7 insertions(+)

This looks sane to me, so:

Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>

That being said, I don't know these functions and can't say with any
authority that this is the "right" place to put the
onboard_hub_create_pdevs() and onboard_hub_destroy_pdevs(). I'm
assuming that Alan, Greg, or someone else on this CC list will
scrutinize that more closely and make sure where Matthias picked is
OK.


-Doug