pch_udc_complete_receiver(9)
π pch_udc_complete_receiver π
okay so welcome to the Kernel API Manual, bestie β today's main character is pch_udc_complete_receiver, and honestly? she's a tiny little function with a very clear job and I respect that so much π«Ά
πΈ NAME πΈ
pch_udc_complete_receiver β this function completes a receiver. that's it. that's the whole vibe. no cap, she wraps up the receiving situation and moves on with her life β¨
π SYNOPSIS π
void pch_udc_complete_receiver (struct pch_udc_ep *ep );
like, it returns void (nothing back, she's not about that return-value life) and it takes exactly one thing. periodt π
π¦ ARGUMENTS π¦
epβ a reference to the endpoint structure. that's your one and only input, bestie. hand her the endpoint and she knows what to do with it π
β¨ SEE ALSO β¨
okay this list is long β like, genuinely iconic levels of long β but every single one of these is invited to the party, so let's give them all their moment π
first up, from the kernel file ./drivers/usb/gadget/udc/pch_udc.c we've got the struct squad:
struct pch_udc_data_dma_desc(9)struct pch_udc_stp_dma_desc(9)struct pch_udc_cfg_data(9)struct pch_udc_ep(9)struct pch_vbus_gpio_data(9)struct pch_udc_dev(9)struct pch_udc_request(9)
then the core register-and-frame girlies:
pch_udc_csr_busy(9)pch_udc_write_csr(9)pch_udc_read_csr(9)pch_udc_rmt_wakeup(9)pch_udc_get_frame(9)
the self-powered / disconnect / reconnect clique:
pch_udc_clear_selfpowered(9)pch_udc_set_selfpowered(9)pch_udc_set_disconnect(9)pch_udc_clear_disconnect(9)pch_udc_reconnect(9)pch_udc_vbus_session(9)
the endpoint-setter crew, lowkey the backbone of the whole operation:
pch_udc_ep_set_stall(9)pch_udc_ep_clear_stall(9)pch_udc_ep_set_trfr_type(9)pch_udc_ep_set_bufsz(9)pch_udc_ep_set_maxpkt(9)pch_udc_ep_set_subptr(9)pch_udc_ep_set_ddptr(9)pch_udc_ep_set_pd(9)pch_udc_ep_set_rrdy(9)pch_udc_ep_clear_rrdy(9)
the DMA + CSR-done besties:
the interrupt gatekeepers (they hold the door, respectfully):
pch_udc_disable_interrupts(9)pch_udc_enable_interrupts(9)pch_udc_disable_ep_interrupts(9)pch_udc_enable_ep_interrupts(9)
the read/write interrupt duo plus their ep counterparts:
pch_udc_read_device_interrupts(9)pch_udc_write_device_interrupts(9)pch_udc_read_ep_interrupts(9)pch_udc_write_ep_interrupts(9)
the status & control checkers:
pch_udc_read_device_status(9)pch_udc_read_ep_control(9)pch_udc_clear_ep_control(9)pch_udc_read_ep_status(9)pch_udc_clear_ep_status(9)
the NAK girlies and the fifo flush icon:
enable/disable ep + the stall waiter:
init/exit, the classic:
the pcd (peripheral controller driver, iykyk) lineup:
pch_udc_pcd_get_frame(9)pch_udc_pcd_wakeup(9)pch_udc_pcd_selfpowered(9)pch_udc_pcd_pullup(9)pch_udc_pcd_vbus_session(9)pch_udc_pcd_vbus_draw(9)
the vbus gpio squad, absolute icons:
pch_vbus_gpio_get_value(9)pch_vbus_gpio_work_fall(9)pch_vbus_gpio_work_rise(9)pch_vbus_gpio_irq(9)pch_vbus_gpio_init(9)pch_vbus_gpio_free(9)
the request completion + queue crew:
the dma chain builders:
prep + zlp besties:
and the rx request starter:
more pcd ep action:
request alloc/free, the responsible roommates:
queue/dequeue:
halt + wedge, the dramatic duo:
the pcd fifo flush:
setup buff init:
tx request chaining + transfer completing:
the service routine girlies (in, out, control in, control out):
post-service ep interrupts + reading all ep status:
control ep activation:
the whole interrupt service gang (ur, enum, intf, cfg):
pch_udc_svc_ur_interrupt(9)pch_udc_svc_enum_interrupt(9)pch_udc_svc_intf_interrupt(9)pch_udc_svc_cfg_interrupt(9)
the isr legends themselves:
setup ep0:
reinit + init:
and last but absolutely not least:
fr fr that's every single one of them β don't skip any when you go cross-referencing, bestie, they're all listed for a reason π
and that's the page!! π cute little sign-off time: this one lives over in ./drivers/usb/gadget/udc and it's dated October 2026 β so like, she's from the future, iconic behavior honestly πβ¨π
π¦ 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