cdns3_gadge...lloc_request(9)
π cdns3_gadge...lloc_request(9)
okay so bestie, welcome to the Kernel API Manual π this one's page is cdns3_gadge...lloc_request(9) (yes the title got truncated by the manpage formatter, she's shy, it's fine, it's cdns3_gadget_ep_alloc_request fr fr) and it's literally just about handing you a fresh USB request struct. iconic. let's go π
β¨ NAME β¨
cdns3_gadget_ep_alloc_request β Allocates request π«Ά
β¨ SYNOPSIS β¨
struct usb_request * cdns3_gadget_ep_alloc_request (struct usb_ep *ep ,
gfp_t gfp_flags );
like, it takes a pointer to an endpoint and your gfp flags, and it gives you back a struct usb_request *. no cap. πΈ
β¨ ARGUMENTS β¨
epβ the endpoint object associated with the request π¦gfp_flagsβ the gfp flags π«
that's it. two args. we love a low-maintenance function signature.
β¨ DESCRIPTION β¨
Returns the allocated request address π
and if the allocation goes sideways? you get NULL. that's the whole vibe check. no request for you, bestie π
ngl: NULL here means allocation error, so likeβ¦ always check before you go dereferencing, queen. main character energy means checking your return values. periodt. π
β¨ SEE ALSO β¨
the kernel file lives at ./drivers/usb/cdns3/cdns3-gadget.c β that's the source, go read her, she ate π₯
and here's the whole friend group, all of them (9) sections, all of them iconic in their own way:
cdns3_clear_register_bit(9)cdns3_set_register_bit(9)cdns3_ep_addr_to_index(9)cdns3_next_request(9)cdns3_next_align_buf(9)cdns3_next_priv_request(9)cdns3_select_ep(9)cdns3_get_tdl(9)cdns3_allocate_trb_pool(9)cdns3_ep_stall_flush(9)cdns3_hw_reset_eps_config(9)cdns3_ep_inc_trb(9)cdns3_ep_inc_enq(9)cdns3_ep_inc_deq(9)cdns3_allow_enable_l1(9)cdns3_start_all_request(9)cdns3_wa2_descmiss_copy_data(9)cdns3_wa2_descmissing_packet(9)cdns3_gadget_giveback(9)cdns3_ep_run_transfer(9)cdns3_trb_handled(9)cdns3_check_ep_interrupt_proceed(9)cdns3_check_usb_interrupt_proceed(9)cdns3_device_irq_handler(9)cdns3_device_thread_irq_handler(9)cdns3_ep_onchip_buffer_reserve(9)cdns3_ep_config(9)cdns3_gadget_ep_free_request(9)cdns3_gadget_ep_enable(9)cdns3_gadget_ep_disable(9)__cdns3_gadget_ep_queue(9)cdns3_gadget_ep_dequeue(9)__cdns3_gadget_ep_set_halt(9)__cdns3_gadget_ep_clear_halt(9)cdns3_gadget_ep_set_halt(9)cdns3_gadget_get_frame(9)cdns3_gadget_udc_start(9)cdns3_gadget_udc_stop(9)cdns3_gadget_check_config(9)cdns3_init_eps(9)cdns3_gadget_init(9)
likeβ¦ that's forty-one whole friends. she's connected. iykyk π
okay that's the page!! π§ mwah π
shoutout to the source dir ./drivers/usb/cdns3, from October 2026, and the header/footer tag cdns3_gadge...lloc_request(9) β that's a wrap bestie, go allocate something safely and check for NULL on your way out ππ«Άβ
π¦ 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