Hi, musb currently uses a wrapper driver that binds on the parent device of the actual musb devices to manage the differentiation between gadget and host modes. However in the upstream devicetree this parent devicetree node can not be used to match the wrapper driver.
To be able to probe the musb devices in host/gadget mode directly, this series introduces support for returning -ENODEV in bind functions resulting in iterating the remaining drivers potentially binding to other drivers that match the compatible. It also changes the address parsing of musb-ctrl to be able to parse relative addresses. Best Markus Signed-off-by: Markus Schneider-Pargmann (TI.com) <[email protected]> --- Changes in v3: - Add short paragraph about performance implications to the commit message - Add a new line in the test - Link to v2: https://lore.kernel.org/r/20260108-topic-musb-probing-v2026-01-v2-0-2a47c6e0e...@baylibre.com Changes in v2: - Added a few patches to remove nearly unused variables - Changed the inner loop in lists_bind_fdt to support set drv and not set entry->of_match. - Cleanup the loop a bit more - Link to v1: https://lore.kernel.org/r/20251126-topic-musb-probing-v2026-01-v1-0-ff8d8c487...@baylibre.com --- Markus Schneider-Pargmann (TI.com) (6): dm: core: lists_bind_fdt: Remove unused variable dm: core: lists_bind_fdt: Replace found variable dm: core: Support multiple drivers with same compatibles test: dm: Add compatible multimatch test usb: musb-new: Relative ctrl_mod address parsing usb: musb-new: Add compatibles for ti,musb-am33xx arch/sandbox/dts/test.dts | 4 +++ drivers/core/lists.c | 73 +++++++++++++++++++++--------------------- drivers/usb/musb-new/ti-musb.c | 36 ++++++++++++++++++++- test/dm/core.c | 15 +++++++++ test/dm/test-driver.c | 26 +++++++++++++++ 5 files changed, 116 insertions(+), 38 deletions(-) --- base-commit: 127a42c7257a6ffbbd1575ed1cbaa8f5408a44b3 change-id: 20251125-topic-musb-probing-v2026-01-1343fff8176b Best regards, -- Markus Schneider-Pargmann (TI.com) <[email protected]>

