udc_init_data(9)
π udc_init_data(9) β Kernel API Manual, but make it make sense
okay so bestie, welcome to the udc_init_data(9) page π this one lives in the Kernel API Manual, and honestly it's a short one β a little setup gremlin that does its thing and dips. let's get into it β¨
πΈ NAME πΈ
udc_init_data β literally just initialize udc device data structures π no cap, that's the whole job description.
π¦ SYNOPSIS π¦
void udc_init_data (struct pxa_udc *dev );
that's it. that's the whole function signature. she's petite π
β¨ ARGUMENTS β¨
devβ the udc device π that's the whole argument list, bestie. one (1) parameter. she said "i only need one thing and i'm out."
π DESCRIPTION π
so here's the tea π: udc_init_data initializes the gadget endpoint list and the endpoints locks. that's the entire vibe check. it sets up the bookkeeping, gets the locks ready, and then no action is taken on the hardware β like, zero. none. the hardware side of things doesn't even get a text back π this is pure software setup, main character energy in the data structures only.
π«Ά lowkey important: no hardware action is taken β so don't be out here expecting the device to do anything physical after this call. it's data structures and locks, periodt.
π SEE ALSO π
fr fr, this function has SO many friends, it's giving "knows everyone at the party" π§ so from ./drivers/usb/gadget/udc/pxa27x_udc.c we've got is_match_usb_pxa(9), find_pxa_ep(9), update_pxa_ep_matches(9), pio_irq_enable(9), pio_irq_disable(9), udc_set_mask_UDCCR(9), udc_clear_mask_UDCCR(9), ep_write_UDCCSR(9), ep_count_bytes_remain(9), ep_is_empty(9), ep_is_full(9), epout_has_pkt(9), set_ep0state(9), ep0_idle(9), inc_ep_stats_reqs(9), inc_ep_stats_bytes(9), pxa_ep_setup(9), pxa_eps_setup(9), pxa_ep_alloc_request(9), pxa_ep_free_request(9), ep_add_request(9), ep_del_request(9), req_done(9), ep_end_out_req(9), ep0_end_out_req(9), ep_end_in_req(9), ep0_end_in_req(9), nuke(9), read_packet(9), write_packet(9), read_fifo(9), write_fifo(9), read_ep0_fifo(9), write_ep0_fifo(9), pxa_ep_queue(9), pxa_ep_dequeue(9), pxa_ep_set_halt(9), pxa_ep_fifo_status(9), pxa_ep_fifo_flush(9), pxa_ep_enable(9), pxa_ep_disable(9), dplus_pullup(9), pxa_udc_get_frame(9), pxa_udc_wakeup(9), should_enable_udc(9), should_disable_udc(9), pxa_udc_pullup(9), pxa_udc_vbus_session(9), pxa_udc_vbus_draw(9), pxa_udc_phy_event(9), udc_disable(9), udc_enable(9), pxa27x_udc_start(9), stop_activity(9), pxa27x_udc_stop(9), handle_ep0_ctrl_req(9), handle_ep0(9), handle_ep(9), pxa27x_change_configuration(9), pxa27x_change_interface(9), irq_udc_suspend(9), irq_udc_resume(9), irq_udc_reconfig(9), irq_udc_reset(9), pxa_udc_irq(9), pxa_udc_probe(9), pxa_udc_remove(9), pxa_udc_suspend(9), pxa_udc_resume(9) π₯
like i said. knows everyone. ate and left no crumbs π
that's the whole page, bestie β mwah π
cute little sign-off before you go π: this one's sourced from ./drivers/usb/gadget/udc, dated October 2026, and it's udc_init_data(9) all the way down. go forth and initialize those data structures, icon πβ¨π¦
π¦ 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