[PATCH v4 0/2] usb: misc: onboard_usb_dev: don't defer probing after the device is configured

From: James Clark

Date: Fri Nov 06 2026 - 01:13:18 EST


On a BeagleY-AI, kernels since commit f918e3804498 ("arm64: enable
HAVE_SHARED_GPIOS for all ARM64 platforms") no longer boot: the on-board
USB hub is re-probed in a loop, because onboard_usb_dev defers probing
after the hub has been configured.

v3 added a pre_probe callback to the USB core, which turned out to add
significant complexity. v4 follows Johan Hovold's other suggestion [1]
instead. Patch 1 exports the generic driver's operations. Patch 2
changes onboard_usb_dev to call them itself instead of setting
generic_subclass.

Tested on the BeagleY-AI on top of v7.4-rc1: the board boots normally,
and unbinding and rebinding the onboard-usb-dev platform device works.

I used an LLM coding assistant to help prepare this series.

[1] https://lore.kernel.org/all/auSdA8MfolA8OhdM@xxxxxxxxxxxxxxxxxxxx/

v3: https://lore.kernel.org/all/cover.1793669297.git.jjc@xxxxxxxxxx/
v2: https://lore.kernel.org/all/20261030151919.3511106-1-jjc@xxxxxxxxxx/
v1: https://lore.kernel.org/all/20261030114705.3159093-1-jjc@xxxxxxxxxx/

James Clark (2):
usb: core: export the generic device driver's operations
usb: misc: onboard_usb_dev: don't defer probing after the device is
configured

drivers/usb/core/generic.c | 4 ++++
drivers/usb/core/usb.h | 6 ------
drivers/usb/misc/onboard_usb_dev.c | 14 +++++++++++---
include/linux/usb.h | 10 +++++++++-
4 files changed, 24 insertions(+), 10 deletions(-)


base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
--
2.56.0