cdns3_allocate_trb_pool(9)
π cdns3_allocate_trb_pool(9) β the Kernel API Manual, but make it make sense π
okay so bestie, we're in the Kernel API Manual today and the main character is cdns3_allocate_trb_pool(9) β¨ it's one of those tiny-but-load-bearing little gremlins from the cdns3 USB gadget world, and honestly? it's giving "small function, big responsibility" π
πΈ NAME πΈ
cdns3_allocate_trb_pool β literally just allocates the TRB's pool for whichever endpoint you selected π¦ no cap, that's the whole gig.
β¨ SYNOPSIS β¨
int cdns3_allocate_trb_pool (struct cdns3_endpoint *priv_ep );
look at her go π one function, one argument, zero drama.
π ARGUMENTS π
priv_epβ the endpoint object π that's it, that's the whole vibe. you hand her your endpoint and she takes it from there.
π₯ DESCRIPTION π₯
so here's the tea β this function will return 0 on success β slay, we love a clean zero β or -ENOMEM on allocation error π which is just the kernel's way of saying "bestie, there's no memory left, I literally cannot".
no in-between, no surprises, just those two outcomes. periodt π
π SEE ALSO π
first up, the actual source file, go read it iykyk:
- Kernel file
./drivers/usb/cdns3/cdns3-gadget.c
and now the whole friend group of related functions, because apparently everybody in this driver knows everybody π«Ά:
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_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_alloc_request(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)
lowkey a whole ecosystem in here π but that's the cdns3 gadget driver for you β everyone's linked, everyone's referenced, and now you know the whole roster π
and that's the page bestie π before you close the tab: this came out of ./drivers/usb/cdns3, dated October 2026, and it's filed under cdns3_allocate_trb_pool(9) β go forth and allocate responsibly π§β¨
π¦ 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