On Mon, Dec 20, 2021 at 11:05:28PM +0300, Dmitry Osipenko wrote: > 16.11.2021 23:07, Matthias Kaehlcke пишет: > > +static const struct usb_device_id onboard_hub_id_table[] = { > > + { USB_DEVICE(VENDOR_ID_REALTEK, 0x0411) }, /* RTS0411 USB 3.0 */ > > + { USB_DEVICE(VENDOR_ID_REALTEK, 0x5411) }, /* RTS5411 USB 2.0 */ > > + {}, > > +}; > > RTS5411 two times in the comments? One time, the other is RTS0511 > Internet suggests that RTS5411 is USB 3.0 Correct, however the chip internally has two hubs, one for USB2 and one for USB3: Bus 002 Device 002: ID 0bda:0411 Realtek Semiconductor Corp. 4-Port USB 3.1 Hub Bus 001 Device 002: ID 0bda:5411 Realtek Semiconductor Corp. 4-Port USB 2.1 Hub > Are these hubs expected to be powered-on only when upstream port is > enabled? Shouldn't runtime PM be used for that somehow? In the general case I would expect that a onboard hub is connected to a port that is enabled. For now I think it's fine to power the hub always when the system is running (which is also the current situation with using always-on regulators). If someone has an actual use case where the upstream port can be disabled they can add support for that later.