I have a system with a low-cost Amlogic S905W SoC that supports USB3 but has a USB3 root hub with no ports. This results in an error message and a hcd that is good for nothing. The USB2 root hub has ports and works normally. I think we can do better and omit creating a shared hcd if either of the root hubs has no ports. This series is based on discussion [0]. The series works as intended for me. What I couldn't test is the case of the USB2 root hub having no ports. [0] https://www.spinics.net/lists/linux-usb/msg223416.html Heiner Kallweit (5): usb: host: xhci-plat: create shared hcd after having added main hcd xhci: factor out parts of xhci_gen_setup() xhci: prepare for operation w/o shared hcd usb: host: xhci-plat: prepare operation w/o shared hcd xhci: support omitting shared hcd if either of the root hubs has no ports drivers/usb/host/xhci-hub.c | 3 +- drivers/usb/host/xhci-mem.c | 11 +-- drivers/usb/host/xhci-plat.c | 43 ++++++---- drivers/usb/host/xhci.c | 155 ++++++++++++++++++++--------------- drivers/usb/host/xhci.h | 20 +++++ 5 files changed, 140 insertions(+), 92 deletions(-) -- 2.35.1