pch_udc_ep_clear_nak(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… pch_udc_ep_clear_nak(9) β€” Kernel API Manual

okay so bestie, welcome to the pch_udc_ep_clear_nak(9) page πŸ’– this is a Kernel API Manual entry, so grab a lil snack πŸ“ and let's get into it, because this lil function is lowkey important.


✨ NAME ✨

pch_udc_ep_clear_nak β€” Set the bit 8 (CNAK field) of the endpoint control register 😌

like, that's literally it. that's the whole vibe. bit 8. CNAK field. endpoint control register. slay.


πŸŽ€ SYNOPSIS πŸŽ€

void pch_udc_ep_clear_nak (struct pch_udc_ep *ep );

that's the whole signature, no cap. it returns void (so, nothing β€” it's giving ✨ mysterious ✨) and it takes one single argument, which we're about to spill the tea on πŸ‘‡


🌸 ARGUMENTS 🌸

  • ep β€” a reference to a structure of type pch_udc_ep_regs 🫢

yeah, the docs say pch_udc_ep_regs right there, and we're not gonna argue with the docs, bestie, so that's what you're getting πŸ’€ just hand over the reference and let the function do its little bit-8 thing πŸ”₯

fr fr, ep is the only thing you pass in. don't get creative. one argument, one icon πŸ‘‘

πŸ¦‹ SEE ALSO πŸ¦‹

okay this is the part where the manpage goes full main-character and name-drops basically the entire file 😭 it's giving "walking into the group chat with 100 receipts." anyway here's the whole squad, in order, no one left out πŸ’œ

Start with the kernel file ./drivers/usb/gadget/udc/pch_udc.c, plus 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), 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), 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), 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), pch_udc_set_dma(9), pch_udc_clear_dma(9), pch_udc_set_csr_done(9), pch_udc_disable_interrupts(9), pch_udc_enable_interrupts(9), pch_udc_disable_ep_interrupts(9), pch_udc_enable_ep_interrupts(9), pch_udc_read_device_interrupts(9), pch_udc_write_device_interrupts(9), pch_udc_read_ep_interrupts(9), pch_udc_write_ep_interrupts(9), 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), pch_udc_ep_set_nak(9), pch_udc_ep_fifo_flush(9), pch_udc_ep_enable(9), pch_udc_ep_disable(9), pch_udc_wait_ep_stall(9), pch_udc_init(9), pch_udc_exit(9) ✨

then the pcd girlies: 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) 🌈

and the vbus gpio crew: 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) 🧚

then the little internal helpers that absolutely ate: complete_req(9), empty_req_queue(9), pch_udc_free_dma_chain(9), pch_udc_create_dma_chain(9), prepare_dma(9), process_zlp(9), pch_udc_start_rxrequest(9), pch_udc_pcd_ep_enable(9), pch_udc_pcd_ep_disable(9), pch_udc_alloc_request(9), pch_udc_free_request(9), pch_udc_pcd_queue(9), pch_udc_pcd_dequeue(9), pch_udc_pcd_set_halt(9), pch_udc_pcd_set_wedge(9), pch_udc_pcd_fifo_flush(9) πŸ’…

and the rest of the roster, because we do not leave anyone out of the credits: pch_udc_init_setup_buff(9), pch_udc_start_next_txrequest(9), pch_udc_complete_transfer(9), pch_udc_complete_receiver(9), pch_udc_svc_data_in(9), pch_udc_svc_data_out(9), pch_udc_svc_control_in(9), pch_udc_svc_control_out(9), pch_udc_postsvc_epinters(9), pch_udc_read_all_epstatus(9), pch_udc_activate_control_ep(9), pch_udc_svc_ur_interrupt(9), pch_udc_svc_enum_interrupt(9), pch_udc_svc_intf_interrupt(9), pch_udc_svc_cfg_interrupt(9), pch_udc_dev_isr(9), pch_udc_isr(9), pch_udc_setup_ep0(9), pch_udc_pcd_reinit(9), pch_udc_pcd_init(9), init_dma_pools(9) πŸ‘‘

that's the whole list, bestie, every single one, iykyk πŸŽ€


aaaaaaaaand that's the page!! 🫢 this lil entry lives over in ./drivers/usb/gadget/udc, stamped October 2026 β€” mwah, iconic, no notes πŸ’–βœ¨ see you in the next manpage, bestie πŸ˜­πŸ‘‘

πŸ“¦ where this page comes from