ci_hdrc_gadget_init(9)
π ci_hdrc_gadget_init β kernel API manual, but make it make sense π
okay so bestie, we're in the kernel API manual today and this page is literally called ci_hdrc_gadget_init(9) β say that five times fast, i dare you π«Ά. it's a little function that gets the gadget side of a chipidea USB controller ready to go. tiny page, big "setting up the whole vibe" energy β¨
β¨ NAME β¨
ci_hdrc_gadget_init β initialize device related bits. that's it, that's the whole job: get the device-y parts of the controller set up πΈ
π SYNOPSIS π
int ci_hdrc_gadget_init(struct ci_hdrc *ci);
it hands you back an int, so, y'know, check it π
π¦ ARGUMENTS π¦
ciβ the controller. the actualstruct ci_hdrc *we're working on, the main character of this whole operation π
π DESCRIPTION π
okay so here's the tea: this function initializes the gadget β but only if the device is "device capable". that's the whole condition, no cap. if it's not device capable, then likeβ¦ nothing to init, bestie π
π SEE ALSO π
you want the whole friend group? here's the whole friend group, all in ./drivers/usb/chipidea/udc.c β genuinely iconic file, go read it:
hw_ep_bit(9)hw_device_state(9)hw_ep_flush(9)hw_ep_disable(9)hw_ep_enable(9)hw_ep_get_halt(9)hw_ep_prime(9)hw_ep_set_halt(9)hw_port_is_high_speed(9)hw_test_and_clear_complete(9)hw_test_and_clear_intr_active(9)hw_test_and_clear_setup_guard(9)hw_test_and_set_setup_guard(9)hw_usb_set_address(9)hw_usb_reset(9)_usb_addr(9)_hardware_enqueue(9)free_pending_td(9)_hardware_dequeue(9)_ep_nuke(9)_gadget_stop_activity(9)isr_reset_handler(9)isr_get_status_complete(9)_ep_queue(9)isr_get_status_response(9)isr_setup_status_complete(9)isr_setup_status_phase(9)isr_tr_complete_low(9)isr_setup_packet_handler(9)isr_tr_complete_handler(9)ci_udc_start(9)udc_start(9)udc_stop(9)
like, that's thirty-three whole functions, no skips, we're not doing that thing where we summarise and leave half of them out π
so yeah β that's the page. ./drivers/usb/chipidea, October 2026, and the manual name is ci_hdrc_gadget_init(9) if you need to look it up again. later bestie, go init some device bits ππ¦
π¦ 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