usb_bus_start_enum(9)
π 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; usuallybus->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:
ascii2desc(9)rh_string(9)usb_bus_init(9)usb_register_bus(9)usb_deregister_bus(9)register_root_hub(9)usb_calc_bus_time(9)usb_hcd_link_urb_to_ep(9)usb_hcd_check_unlink_urb(9)usb_hcd_unlink_urb_from_ep(9)usb_hcd_giveback_urb(9)usb_hcd_alloc_bandwidth(9)usb_hcd_reset_endpoint(9)usb_alloc_streams(9)usb_free_streams(9)usb_hcd_resume_root_hub(9)usb_hcd_irq(9)usb_hc_died(9)usb_create_shared_hcd(9)usb_create_hcd(9)usb_stop_hcd(9)usb_add_hcd(9)usb_remove_hcd(9)
Source/version vibe: ./drivers/usb/core; date stamp: October 2026. Bye bestie, go start that enumeration πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms