pxa_udc_phy_event(9)
π pxa_udc_phy_event(9) β like, the Kernel API Manual era π
okay so bestie, this is a page from the Kernel API Manual, and it's about one very specific little function: pxa_udc_phy_event. It's short, it's sweet, and it's literally the moment your USB cable gets a vibe check. Let's get into it π«Ά
β¨ NAME β¨
pxa_udc_phy_event β the function that gets called by the phy when a VBus event happens. Yes, that's the whole name. Not me being dramatic, that's just what it does π
π¦ SYNOPSIS π¦
int pxa_udc_phy_event (struct notifier_block *nb , unsigned long action
, void *data );
Look at that signature. Three arguments, one int coming back at ya. Iconic. π
πΈ ARGUMENTS πΈ
nbβ the notifier block. That's your little "hey, tell me when stuff happens" hookup π§actionβ the phy action, i.e. whether it's a vbus connect or a disconnect. Cable in, cable out, the whole storyline πdataβ theusb_gadgetstructure that lives insidepxa_udc. That's the actual main character here π
β DESCRIPTION β
So here's the tea: this one gets called by the USB Phy the second it senses a cable connect or disconnect. That's it. That's the job. It's the doorbell of the USB world π
And what does it return? 0. That's it. Zero. Slay, honestly β no cap, it just says "yeah I handled it" and moves on π
π₯ SEE ALSO π₯
Okay this is the part where I need you to stay with me, because the list is long and I am obsessed with how long it is. All of these live in the Kernel file ./drivers/usb/gadget/udc/pxa27x_udc.c:
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)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)
Likeβ¦ the way that list just keeps going. 68 entries. She ate and left absolutely no crumbs ππ
honest note bestie: I'm not adding anything that isn't on the page. If you want the deep lore, that's what the SEE ALSO squad is for. Go read pxa27x_udc.c, iykyk π
okay bye ily, this page came from <code>./drivers/usb/gadget/udc</code> and the October 2026 era, and yes it's still titled pxa_udc_phy_event(9) β mwah πβ¨
π¦ 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