usb_bus_start_enum(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

usb_bus_start_enum β€” start immediate enumeration (for OTG). Welcome to the usb_bus_start_enum(9) page from the Kernel API Manual, bestie ✨.

🌸 SYNOPSIS 🌸

The whole signature is right here, and yes, we’re keeping the spacing exactly as given 🫢:

int usb_bus_start_enum (struct usb_bus *bus , unsigned port_num );

πŸŽ€ ARGUMENTS πŸŽ€

  • bus β€” the bus. It must use hcd framework, no cap πŸ’….
  • port_num β€” the 1-based number of the port; usually bus->otg_port πŸ¦‹.

⚑ CONTEXT ⚑

atomic β€” like, that’s the context, bestie. She’s atomic 😭.

πŸ¦‹ DESCRIPTION πŸ¦‹

Starts enumeration, with an immediate reset followed later by hub_wq identifying and possibly configuring the device. This is needed by OTG controller drivers, where it helps meet HNP protocol timing requirements for starting a port reset. It’s giving β€œreset now, let hub_wq handle the identify-and-maybe-configure part later” energy πŸ’–.

⭐ RETURN ⭐

0 if successful. That’s the return tea, bestie βœ….

🌈 SEE ALSO 🌈

Kernel file ./drivers/usb/core/hcd.c and the whole friend group:


Source/version vibe: ./drivers/usb/core; date stamp: October 2026. Bye bestie, go start that enumeration πŸ’–βœ¨

πŸ“¦ where this page comes from