usb_gadget_vbus_disconnect(9)
π usb_gadget_vbus_disconnect(9) π
okay so bestie, welcome to the Kernel API Manual page for usb_gadget_vbus_disconnect(9) β this is the one that tells the controller βhey, the VBUS party is OVERβ ππ« and honestly? iconic.
β¨ NAME β¨
usb_gadget_vbus_disconnect β notify controller about VBUS session end π
πΈ SYNOPSIS πΈ
int usb_gadget_vbus_disconnect (struct usb_gadget *gadget );
π ARGUMENTS π
gadgetβ the device whose VBUS supply is being described. like, this is the gadget we're talking about, bestie π«Ά
π¦ CONTEXT π¦
okay so important vibe check: this one can sleep. literally, it's allowed to nap π΄π€ so keep that in mind when you're deciding where to call it from, bestie. no cap.
β DESCRIPTION β
so here's the tea β β this call is used by a driver for an external transceiver (or GPIO) that detects a VBUS power session ending. basically the physical layer is like βwe're done hereβ and this function carries that message to the controller π¦
common responses include reversing everything done in usb_gadget_vbus_connect β like, undo the whole fit, periodt π
β¨
returns zero on success, else negative errno β so if you get a negative number back, something went sideways and it's giving error energy π
π₯ SEE ALSO π₯
okay this list is LONG but we're not skipping a single one, bestie β every reference stays, fr fr:
- Kernel file
./drivers/usb/gadget/udc/core.c, structusb_udc(9) usb_ep_set_maxpacket_limit(9)usb_ep_enable(9)usb_ep_disable(9)usb_ep_alloc_request(9)usb_ep_free_request(9)usb_ep_queue(9)usb_ep_dequeue(9)usb_ep_set_halt(9)usb_ep_clear_halt(9)usb_ep_set_wedge(9)usb_ep_fifo_status(9)usb_ep_fifo_flush(9)usb_gadget_frame_number(9)usb_gadget_wakeup(9)usb_gadget_set_remote_wakeup(9)usb_gadget_set_selfpowered(9)usb_gadget_clear_selfpowered(9)usb_gadget_vbus_connect(9)usb_gadget_vbus_draw(9)usb_gadget_connect(9)usb_gadget_disconnect(9)usb_gadget_deactivate(9)usb_gadget_activate(9)usb_gadget_giveback_request(9)gadget_find_ep_by_name(9)usb_gadget_check_config(9)usb_udc_vbus_handler(9)usb_gadget_udc_reset(9)usb_gadget_udc_start_locked(9)usb_gadget_udc_stop_locked(9)usb_gadget_udc_set_speed(9)usb_gadget_enable_async_callbacks(9)usb_gadget_disable_async_callbacks(9)usb_udc_release(9)usb_initialize_gadget(9)usb_add_gadget(9)usb_add_gadget_udc_release(9)usb_get_gadget_udc_name(9)usb_add_gadget_udc(9)usb_del_gadget(9)usb_del_gadget_udc(9)
and that's the whole page, bestie π«Ά this gem comes from ./drivers/usb/gadget/udc, October 2026, and it's filed under usb_gadget_vbus_disconnect(9) β go forth and disconnect that VBUS with confidence π
β¨
π¦ 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