pxa_udc_vbus_session(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… pxa_udc_vbus_session(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual β€” yes we're reading kernel docs together, this is our bonding era 🫢. Today's main character is pxa_udc_vbus_session, a little function with big "the transceiver called, they want their UDC back" energy.


✨ NAME ✨

pxa_udc_vbus_session β€” called by an external transceiver to enable/disable the udc. that's it, that's the whole job. iconic honestly πŸ‘‘


✨ SYNOPSIS ✨

int pxa_udc_vbus_session (struct usb_gadget *_gadget , int is_active );

look at her. two params, no drama, int return. slay πŸ’…


✨ ARGUMENTS ✨

  • _gadget β€” the usb gadget. that's the whole description, she's mysterious like that πŸ™ˆ
  • is_active β€” 0 if it should disable the udc, 1 if it should enable. binary queen, no in-between πŸ’€

✨ DESCRIPTION ✨

so here's the tea β˜•: this function enables the udc, and optionally activates the D+ pullup resistor. or β€” depending on the vibe check from is_active β€” it disables the udc, and deactivates the D+ pullup resistor. enable/disable, pullup on/pullup off, that's the whole duality of woman ✨

and the return value? 0. that's it. returns 0. no cap, she's lowkey unbothered πŸ’–


🌈 SEE ALSO 🌈

the friend group is huge, bestie, so buckle up. kernel file ./drivers/usb/gadget/udc/pxa27x_udc.c is where all these live:

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_draw(9), pxa_udc_phy_event(9), udc_disable(9), udc_init_data(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)

go read all of them. or don't. i'm not your mom, i'm your bestie 🧚


source: ./drivers/usb/gadget/udc  Β·  date: October 2026 β€” that's the version and the date, bestie, we cite our sources in this group chat πŸ’œ

okay that's the whole page, you ate that, periodt πŸŽ€πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from