dwc2_hsotg_c...ete_oursetup(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… dwc2_hsotg_complete_oursetup(9) β€” like, the setup completion callback, bestie ✨

okay so you're in the Kernel API Manual (yes, that's the manual name, it's giving very official πŸ‘‘) and the page you opened is dwc2_hsotg_c...ete_oursetup(9) β€” that's the truncated header version, the real full name is right below, no cap.


🌸 NAME 🌸

dwc2_hsotg_complete_oursetup β€” the setup completion callback. that's it, that's the whole vibe πŸŽ€


✨ SYNOPSIS ✨

void dwc2_hsotg_complete_oursetup (struct usb_ep *ep , struct
usb_request *req );

literally just a void function, two pointers in, nothing out. clean. iconic. 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • ep β€” the endpoint the request was on. like, which endpoint, yeah? πŸ‘€
  • req β€” the request that completed. the one that's done, finished, ate and left no crumbs πŸ’…

πŸ’– DESCRIPTION πŸ’–

so this gets called when any of the requests that the driver itself submitted finish up β€” specifically the ones that need cleaning up afterwards. driver's own little requests, coming home, needing a tidy. that's the whole job 😭✨

ngl it's a small function but it's doing its main character thing β€” cleanup is self-care fr fr 🧚

πŸ”₯ SEE ALSO πŸ”₯

the kernel file ./drivers/usb/dwc2/gadget.c is out here using a whole friend group, and we're listing every single one because nobody gets left out πŸ’œ:

using_dma(9), dwc2_gadget_incr_frame_num(9), dwc2_gadget_dec_frame_num_by_one(9), dwc2_hsotg_en_gsint(9), dwc2_hsotg_disable_gsint(9), dwc2_hsotg_ctrl_epint(9), dwc2_hsotg_tx_fifo_count(9), dwc2_hsotg_tx_fifo_total_depth(9), dwc2_gadget_wkup_alert_handler(9), dwc2_hsotg_tx_fifo_average_depth(9), dwc2_hsotg_init_fifo(9), dwc2_hsotg_ep_alloc_request(9), is_ep_periodic(9), dwc2_hsotg_unmap_dma(9), dwc2_hsotg_write_fifo(9), get_ep_limit(9), dwc2_hsotg_read_frameno(9), dwc2_gadget_get_chain_limit(9), dwc2_hsotg_start_req(9), dwc2_hsotg_map_dma(9), dwc2_gadget_target_frame_elapsed(9), ep_from_windex(9), dwc2_hsotg_set_test_mode(9), dwc2_hsotg_send_reply(9), dwc2_hsotg_process_req_status(9), get_ep_head(9), dwc2_gadget_start_next_request(9), dwc2_hsotg_process_req_feature(9), dwc2_hsotg_stall_ep0(9), dwc2_hsotg_process_control(9), dwc2_hsotg_complete_setup(9), dwc2_hsotg_enqueue_setup(9), dwc2_hsotg_complete_request(9), dwc2_hsotg_rx_data(9), dwc2_hsotg_ep0_zlp(9), dwc2_hsotg_handle_outdone(9), dwc2_hsotg_handle_rx(9), dwc2_hsotg_ep0_mps(9), dwc2_hsotg_set_ep_maxpacket(9), dwc2_hsotg_txfifo_flush(9), dwc2_hsotg_trytx(9), dwc2_hsotg_complete_in(9), dwc2_gadget_read_ep_interrupts(9), dwc2_gadget_handle_ep_disabled(9), dwc2_gadget_handle_out_token_ep_disabled(9), dwc2_gadget_handle_nak(9), dwc2_hsotg_epint(9), dwc2_hsotg_irq_enumdone(9), kill_all_requests(9), dwc2_hsotg_disconnect(9), dwc2_hsotg_irq_fifoempty(9), dwc2_hsotg_core_init_disconnected(9), dwc2_gadget_handle_incomplete_isoc_in(9), dwc2_gadget_handle_incomplete_isoc_out(9), dwc2_hsotg_irq(9), dwc2_hsotg_ep_enable(9), dwc2_hsotg_ep_disable(9), on_list(9), dwc2_hsotg_ep_dequeue(9), dwc2_gadget_ep_set_wedge(9), dwc2_hsotg_ep_sethalt(9), dwc2_hsotg_ep_sethalt_lock(9), dwc2_hsotg_init(9), dwc2_hsotg_udc_start(9), dwc2_hsotg_udc_stop(9), dwc2_hsotg_gadget_getframe(9), dwc2_hsotg_set_selfpowered(9), dwc2_hsotg_pullup(9), dwc2_hsotg_vbus_draw(9), dwc2_hsotg_initep(9), dwc2_hsotg_hw_cfg(9), dwc2_hsotg_dump(9), dwc2_gadget_init(9), dwc2_hsotg_remove(9), dwc2_backup_device_registers(9), dwc2_restore_device_registers(9), dwc2_gadget_init_lpm(9), dwc2_gadget_program_ref_clk(9), dwc2_gadget_enter_hibernation(9), dwc2_gadget_exit_hibernation(9), dwc2_gadget_enter_partial_power_down(9), dwc2_gadget_enter_clock_gating(9)

like… that's the whole group chat. iykyk πŸ’€πŸŒˆ


okay bestie, that's the page 🫢 this one lives in ./drivers/usb/dwc2, it's dated October 2026, and the manual is dwc2_hsotg_c...ete_oursetup(9) β€” mwah, go read the source, ily, bye πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from