This patch series extends the usb_onboard_hub driver to allow for support of more types of onboard hub devices, and adds the Cypress HX3 hub family.
First patch in the series updates the bind function, so that it no longer uses hardcoded compatible strings. Next patch simplifies the code, by removing unnecessary dm_gpio function call. Third patch updates the remove function, which allows the prevent issues with usb devices reenumeration, in case of calling "usb reset". Although the issue could still occur in case of invalid initial state of reset gpio, it is minimized with no impact on main usb_hub driver. Fourth patch extends the driver with support for multiple power supplies, the same way it is done in kernel driver. Finally, last patch provides hub data and of_match table entries for Cypress HX3 Signed-off-by: Lukasz Czechowski <lukasz.czechow...@thaumatec.com> --- Changes in v2: - Replaced the method for finding hub in bind function with uclass_find_device_by_ofnode, which seems more appropriate - Added new patch that removes unnecessary dm_gpio_free call in usb_onboard_hub_remove - Create separate static method for disabling supply regulators - Update error handling in probe function - Link to v1: https://lore.kernel.org/r/20250425-usb_onboard_hub_cypress_hx3-v1-0-3cc5a0608...@thaumatec.com --- Lukasz Czechowski (5): usb: onboard-hub: Use the ofnode to check if the peer-hub was probed usb: onboard-hub: Use devm API do automatically free the reset GPIO usb: onboard-hub: Set the reset gpio pin before freeing usb: onboard-hub: Add support for multiple power supplies usb: onboard-hub: Add support for Cypress HX3 family common/usb_onboard_hub.c | 103 ++++++++++++++++++++++++++++++++++++----------- drivers/usb/Kconfig | 1 + 2 files changed, 80 insertions(+), 24 deletions(-) --- base-commit: 10f48365112b164bee6564033ab682747efcb483 change-id: 20250425-usb_onboard_hub_cypress_hx3-2831983f1ede Best regards, -- Lukasz Czechowski <lukasz.czechow...@thaumatec.com>