dwc2_hsotg_set_test_mode(9)
π NAME π
dwc2_hsotg_set_test_mode β bestie, this is the one that enables usb Test Modes β¨ (yes, capital T, capital M, we're fancy). This page comes straight out of the Kernel API Manual, section 9, and it's giving very niche-kernel-girlie energy π
πΈ SYNOPSIS πΈ
int dwc2_hsotg_set_test_mode (struct dwc2_hsotg *hsotg , int testmode );
No cap, that's the whole signature. Two args in, one int out π«Ά
β¨ ARGUMENTS β¨
hsotgβ The driver state. That's it, that's the description π it's the driver state, the main character of this whole struct, hold it gently.testmodeβ requested usb test mode. This is where you tell it which mode you want: Enable usb Test Mode requested by the Host. So like, the Host asked for it, and you're just the messenger carrying the vibe check through π¦
Heads up bestie: the manpage literally says "Enable usb Test Modes" in NAME and then "Enable usb Test Mode requested by the Host" for testmode. I'm not paraphrasing those away, that's canon, I'm keeping it exactly as written π₯
π SEE ALSO π
Okay so this is the part where the page just drops the entire friend group at once, no context, no warning π The kernel file is ./drivers/usb/dwc2/gadget.c β that's where the lore lives β and it links out to all of these:
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_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_initep(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)
Literally the whole dwc2 gadget roster, iykyk π read them alphabetically, read them backwards, read them like a group chat you got added to at 3am β they're all here, nobody got left on read π
Lowkey, this is a tiny page. One function, two args, an entire extended family of SEE ALSO refs. That's the vibe. Periodt π
Kernel source file: ./drivers/usb/dwc2 β October 2026 edition, bestie π that's your source and your date, screenshotted and framed on the wall of the kernel API manual, dwc2_hsotg_set_test_mode(9) forever πβ¨
π¦ 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