pch_udc_pcd_selfpowered(9)
π
pch_udc_pcd_selfpowered (9) β Kernel API Manual, bestie edition β¨
okay so picture this: you're deep in the pch_udc USB gadget driver, it's giving kernel-internals realness, and this little function is the one whose whole entire job is to say whether the device is self powered or not. that's it. that's the gig. and honestly?? iconic of it. π
πΈ NAME πΈ
pch_udc_pcd_selfpowered β This API is invoked to specify whether the device is self powered or not π
β¨ SYNOPSIS β¨
int pch_udc_pcd_selfpowered (struct usb_gadget *gadget , int value );
like yes bestie, that's the whole signature, no cap π«Ά
π¦ ARGUMENTS π¦
gadgetβ Reference to the gadget driver. you know, the whole gadget situation. the main character of the operation ngl.valueβ Specifies self powered or not. that's the vibe check right there β it's literally telling everyone what your power situation is π
π DESCRIPTION π
okay so this is the return-code menu, and it is short but every bit matters, so pay attention bestie:
0β Success π (yes queen, it worked)-EINVALβ If the gadget passed isNULLπ (you handed it nothing. it said no.)
fr fr though β if you pass aNULLgadget you are getting-EINVALback and that is not a drill π
π SEE ALSO π
Kernel file ./drivers/usb/gadget/udc/pch_udc.c β and now the full friend group, nobody left out, periodt:
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_clear_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)pch_udc_pcd_get_frame(9)pch_udc_pcd_wakeup(9)pch_udc_pcd_pullup(9)pch_udc_pcd_vbus_session(9)pch_udc_pcd_vbus_draw(9)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)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)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 page bestie, you ate it up π and before you go β this little beauty lives in ./drivers/usb/gadget/udc, dated October 2026, and it's filed under pch_udc_pcd_selfpowered(9) so you can find it again whenever you need her π§ββοΈβ
π¦ 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