dwc2_hsotg_initep(9)
π« dwc2_hsotg_initep(9) β the Kernel API Manual glow-up π«
okay bestie, so this one's from the Kernel API Manual and it's literally called dwc2_hsotg_initep β it's the little function that gets your endpoint ready for its main character era β¨
πΈ NAME πΈ
dwc2_hsotg_initep β initialise a single endpoint π (yes, one endpoint. we're being specific here.)
β¨ SYNOPSIS β¨
void dwc2_hsotg_initep (struct dwc2_hsotg *hsotg , struct dwc2_hsotg_ep
*hs_ep , int epnum , bool dir_in );
no return value, she just does it π
π«Ά ARGUMENTS π«Ά
hsotgβ the device state. like, the whole vibe of the device, all bundled up π¦hs_epβ the endpoint that's about to get initialised. this is her moment πepnumβ the endpoint number π’dir_inβtrueif the direction is in. so, is she going in? that's the question π
π DESCRIPTION π
so what she does: she initialises the given endpoint β and this happens as part of the probe and device state creation β so it can be handed over to the gadget driver πβ¨
she sets up the endpoint name, any direction information, and all the other state that may be required. basically she gets the endpoint all dressed up and presentable before the gadget driver meets her ππ
ngl this is the "getting ready in the group chat mirror" phase of the endpoint's life. no cap, it matters.
π₯ SEE ALSO π₯
first up, the actual source tea: Kernel file ./drivers/usb/dwc2/gadget.c, and honestly the whole friend group is listed here too β say hi to every single one of them ππ
using_dma(9)dwc2_gadget_incr_frame_num(9)dwc2_gadget_dec_frame_num_by_one(9)dwc2_hsotg_en_gsint(9)dwc2_hsotg_disable_gsint(9)dwc2_hsotg_ctrl_epint(9)dwc2_hsotg_tx_fifo_count(9)dwc2_hsotg_tx_fifo_total_depth(9)dwc2_gadget_wkup_alert_handler(9)dwc2_hsotg_tx_fifo_average_depth(9)dwc2_hsotg_init_fifo(9)dwc2_hsotg_ep_alloc_request(9)is_ep_periodic(9)dwc2_hsotg_unmap_dma(9)dwc2_hsotg_write_fifo(9)get_ep_limit(9)dwc2_hsotg_read_frameno(9)dwc2_gadget_get_chain_limit(9)dwc2_hsotg_start_req(9)dwc2_hsotg_map_dma(9)dwc2_gadget_target_frame_elapsed(9)dwc2_hsotg_complete_oursetup(9)ep_from_windex(9)dwc2_hsotg_set_test_mode(9)dwc2_hsotg_send_reply(9)dwc2_hsotg_process_req_status(9)get_ep_head(9)dwc2_gadget_start_next_request(9)dwc2_hsotg_process_req_feature(9)dwc2_hsotg_stall_ep0(9)dwc2_hsotg_process_control(9)dwc2_hsotg_complete_setup(9)dwc2_hsotg_enqueue_setup(9)dwc2_hsotg_complete_request(9)dwc2_hsotg_rx_data(9)dwc2_hsotg_ep0_zlp(9)dwc2_hsotg_handle_outdone(9)dwc2_hsotg_handle_rx(9)dwc2_hsotg_ep0_mps(9)dwc2_hsotg_set_ep_maxpacket(9)dwc2_hsotg_txfifo_flush(9)dwc2_hsotg_trytx(9)dwc2_hsotg_complete_in(9)dwc2_gadget_read_ep_interrupts(9)dwc2_gadget_handle_ep_disabled(9)dwc2_gadget_handle_out_token_ep_disabled(9)dwc2_gadget_handle_nak(9)dwc2_hsotg_epint(9)dwc2_hsotg_irq_enumdone(9)kill_all_requests(9)dwc2_hsotg_disconnect(9)dwc2_hsotg_irq_fifoempty(9)dwc2_hsotg_core_init_disconnected(9)dwc2_gadget_handle_incomplete_isoc_in(9)dwc2_gadget_handle_incomplete_isoc_out(9)dwc2_hsotg_irq(9)dwc2_hsotg_ep_enable(9)dwc2_hsotg_ep_disable(9)on_list(9)dwc2_hsotg_ep_dequeue(9)dwc2_gadget_ep_set_wedge(9)dwc2_hsotg_ep_sethalt(9)dwc2_hsotg_ep_sethalt_lock(9)dwc2_hsotg_init(9)dwc2_hsotg_udc_start(9)dwc2_hsotg_udc_stop(9)dwc2_hsotg_gadget_getframe(9)dwc2_hsotg_set_selfpowered(9)dwc2_hsotg_pullup(9)dwc2_hsotg_vbus_draw(9)dwc2_hsotg_hw_cfg(9)dwc2_hsotg_dump(9)dwc2_gadget_init(9)dwc2_hsotg_remove(9)dwc2_backup_device_registers(9)dwc2_restore_device_registers(9)dwc2_gadget_init_lpm(9)dwc2_gadget_program_ref_clk(9)dwc2_gadget_enter_hibernation(9)dwc2_gadget_exit_hibernation(9)dwc2_gadget_enter_partial_power_down(9)dwc2_gadget_enter_clock_gating(9)
and that's the whole page, bestie, you ate that ππ
signing off from ./drivers/usb/dwc2 β dated October 2026, and the page is of course dwc2_hsotg_initep(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