should_disable_udc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… should_disable_udc(9) β€” the vibe check for your UDC

okay so bestie, we're in the Kernel API Manual, page should_disable_udc(9), and it's literally one function that answers one question: should this UDC be shut off or not. That's it. That's the whole gig. πŸŽ€


✨ NAME ✨

should_disable_udc β€” tells you if the UDC should be disabled, no cap


πŸ¦‹ SYNOPSIS πŸ¦‹

int should_disable_udc (struct pxa_udc *udc );

🌸 ARGUMENTS 🌸

  • udc β€” the udc device. that's the one and only thing you're handing it πŸ’–

⭐ CONTEXT ⭐

any β€” fr fr, any context works here. no rules, no restrictions, main character energy 🌈


πŸ”₯ DESCRIPTION πŸ”₯

so here's the tea: the UDC should be disabled if any of these things are true πŸ‘‡

  • the pullup resistor is not connected πŸ’€
  • or no gadget driver is bound πŸ™ˆ
  • or no vbus is sensed (when vbus sesing is available)

and then the payoff bb: it Returns 1 if UDC should be disabled. iconic. periodt. πŸ‘‘


πŸ’œ SEE ALSO πŸ’œ

the whole friend group lives in the Kernel file ./drivers/usb/gadget/udc/pxa27x_udc.c β€” go say hi to all of them:

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), pxa_udc_pullup(9), pxa_udc_vbus_session(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)


that's the whole page, bestie β€” go forth and vibe check your UDC 🫢✨

mwah πŸ’‹ this one's from the ./drivers/usb/gadget/udc crew, October 2026 edition, Kernel API Manual β€” see u in the next manpage bb πŸ§šβ€β™€οΈ

πŸ“¦ where this page comes from