usb_composit...tup_continue(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– usb_composit...tup_continue(9) β€” Kernel API Manual πŸ’–

✨ NAME ✨

usb_composite_setup_continue β€” Continue with the control transfer πŸŽ€

🌸 SYNOPSIS 🌸

void usb_composite_setup_continue (struct usb_composite_dev *cdev );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • cdev β€” the composite device whose control transfer was kept waiting πŸ‘€πŸ«Ά

πŸ”₯ DESCRIPTION πŸ”₯

okay so bestie, this one is lowkey important: this function must be called by the USB function driver to continue with the control transfer's data/status stage in case it had requested to delay the data/status stages. like, if the driver asked the framework to hold the data/status stage, this is the β€œokay we’re ready, go” button πŸ’….

A USB function's setup handler (e.g. set_alt) can request the composite framework to delay the setup request's data/status stages by returning USB_GADGET_DELAYED_STATUS. no cap, that's the whole signal ✨.

🫢 SEE ALSO 🫢

Kernel file ./drivers/usb/gadget/composite.c β€” plus the whole reference squad: struct usb_os_string(9), function_descriptors(9), next_desc(9), config_ep_by_speed_and_alt(9), config_ep_by_speed(9), usb_add_function(9), usb_function_deactivate(9), usb_function_activate(9), usb_interface_id(9), usb_func_wakeup(9), bos_desc(9), usb_add_config(9), usb_string_id(9), usb_string_ids_tab(9), usb_gstrings_attach(9), usb_string_ids_n(9), usb_composite_probe(9), usb_composite_unregister(9) πŸ’–


okay periodt πŸ’… this page lives under ./drivers/usb/gadget, dated October 2026, and it's literally usb_composit...tup_continue(9). slay βœ¨πŸŽ€

πŸ“¦ where this page comes from