xudc_ep0_queue(9)
π xudc_ep0_queue(9) β from the Kernel API Manual, bestie β¨
okay so real talk, this one lives in the Kernel API Manual, and it's genuinely such a little icon: xudc_ep0_queue(9). It's giving "tiny function, huge responsibility." Let's get into it π
β¨ NAME β¨
xudc_ep0_queue β adds the request to endpoint 0's queue. that's it, that's the whole vibe. it's the bouncer at the door of ep0, except instead of checking IDs it's checking your struct usb_request and going "mmhm, you're on the list, go on in" π«Ά
πΈ SYNOPSIS πΈ
int xudc_ep0_queue (struct usb_ep *_ep , struct usb_request *_req ,
gfp_t gfp_flags );
like, three args, one int coming back at you. no cap, that's the whole signature π
π¦ ARGUMENTS π¦
_epβ a pointer to theusb endpoint 0structure. yes bestie, endpoint 0 specifically, the main character ep π this is where you hand over the address of the ep you're queueing onto._reqβ a pointer to theusb requeststructure. this is the actual request you're yeeting into the queue, it's carrying the payload of the whole operation β¨gfp_flagsβ the flags related to the request call. allocation behaviour vibes, basically β you set 'em, they ride along with the call π
π₯ RETURN π₯
0 means success, slay, we ate π
and an error value on failure β so like, anything that isn't 0 means it did not go well and you should probably look at it π
β SEE ALSO β
the full friend group, no one left out, iykyk π
- the Kernel file
./drivers/usb/gadget/udc/udc-xilinx.c struct xusb_req(9)struct xusb_ep(9)struct xusb_udc(9)xudc_write32(9)xudc_read32(9)xudc_write32_be(9)xudc_read32_be(9)xudc_wrstatus(9)xudc_epconfig(9)xudc_start_dma(9)xudc_dma_send(9)xudc_dma_receive(9)xudc_eptxrx(9)xudc_done(9)xudc_read_fifo(9)xudc_write_fifo(9)xudc_nuke(9)xudc_ep_set_halt(9)__xudc_ep_enable(9)xudc_ep_enable(9)xudc_ep_disable(9)xudc_ep_alloc_request(9)xudc_free_request(9)__xudc_ep0_queue(9)xudc_ep_queue(9)xudc_ep_dequeue(9)xudc_ep0_enable(9)xudc_ep0_disable(9)xudc_get_frame(9)xudc_wakeup(9)xudc_pullup(9)xudc_eps_init(9)xudc_stop_activity(9)xudc_start(9)xudc_stop(9)xudc_clear_stall_all_ep(9)xudc_startup_handler(9)xudc_ep0_stall(9)xudc_setaddress(9)xudc_getstatus(9)xudc_set_clear_feature(9)xudc_handle_setup(9)xudc_ep0_out(9)xudc_ep0_in(9)xudc_ctrl_ep_handler(9)xudc_nonctrl_ep_handler(9)xudc_irq(9)xudc_probe(9)xudc_remove(9)
ngl this page is short but it's doing the most β it's literally the entry point for stuffing a request onto ep0. don't sleep on it π§
and that's the page!! bye bestie, go queue something iconic π
β xoxo, your fav manpage, straight outta ./drivers/usb/gadget/udc, dated October 2026 πβ¨
π¦ 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