cdns3_gadget_udc_start(9)
π cdns3_gadget_udc_start β gadget, but make it start π
okay bestie, welcome to the Kernel API Manual β¨ today's main character is cdns3_gadget_udc_start, and she is literally the one who kicks the whole gadget thing off. no cap.
πΈ SYNOPSIS πΈ
int cdns3_gadget_udc_start (struct usb_gadget *gadget , struct
usb_gadget_driver *driver );
that's it. that's the whole flex. π«Ά
π ARGUMENTS π
gadgetβ the gadget object itself, the whole vibe, the icon πdriverβ the driver that operates on this gadget, aka the one actually doing the work behind the scenes π
β¨ DESCRIPTION β¨
so like, what does she return? she returns 0 on success. that's it, that's the win π and if something goes sideways? error code elsewhere. not me being vague, that's genuinely what the manpage says π
lowkey the entire description is two clauses and honestly? she ate. minimal queen behavior. π
π¦ SEE ALSO π¦
first up, the kernel file she lives in, because we love a home address:
./drivers/usb/cdns3/cdns3-gadget.c
and now the whole friend group, no one left out, fr fr π:
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_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_stop(9)cdns3_gadget_check_config(9)cdns3_init_eps(9)cdns3_gadget_init(9)
and yes, two of those are the __-prefixed ones, __cdns3_gadget_ep_queue(9) and __cdns3_gadget_ep_set_halt(9) and __cdns3_gadget_ep_clear_halt(9) β don't @ me, that's just how they're spelled π
and that's the whole page, bestie!! π§ββοΈπ
cute little sign-off: this one lives in the source dir ./drivers/usb/cdns3 and it's dated October 2026 β so yeah, future-coded of her. periodt. π
ππΈ
π¦ 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