bcm63xx_udc_set_halt(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… bcm63xx_udc_set_halt β€” a Kernel API Manual moment πŸ’…

okay so bestie, we're in the Kernel API Manual today and this one is a little cutie. say hi to bcm63xx_udc_set_halt πŸ‘‹βœ¨


✨ NAME ✨

bcm63xx_udc_set_halt β€” turns the STALL flag on or off in the hardware. that's it, that's the whole vibe πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

int bcm63xx_udc_set_halt (struct usb_ep *ep , int value );

like, it returns an int, it takes an ep and a value, and honestly? iconic. returns an int and everything πŸ”₯


🌸 ARGUMENTS 🌸

  • ep β€” the endpoint you wanna halt, babes. this is the one getting the treatment πŸ’…
  • value β€” zero clears the halt, and nonzero sets the halt. zero = off, not-zero = on, no cap ✨

🧚 DESCRIPTION 🧚

so like… See comments in bcm63xx_update_wedge.

that's literally it. that's the whole description. the docs said "go read bcm63xx_update_wedge" and honestly? respect for the delegation πŸ‘‘ like the vibes are fully documented elsewhere, iykyk 🫢

ngl bestie, if you want the actual tea on how this works, you're gonna have to go read those comments. this page is giving "the real answer is in the other room" 😭

πŸ”₯ SEE ALSO πŸ”₯

okay this is the part where the manpage absolutely ATE. look at this list. main character energy fr fr πŸ’€

the kernel file ./drivers/usb/gadget/udc/bcm63xx_udc.c

and then the whole friend group:

struct iudma_ch_cfg(9), struct iudma_ch(9), struct bcm63xx_ep(9), struct bcm63xx_req(9), struct bcm63xx_udc(9), bcm63xx_ep_dma_select(9), bcm63xx_set_stall(9), bcm63xx_fifo_setup(9), bcm63xx_fifo_reset_ep(9), bcm63xx_fifo_reset(9), bcm63xx_ep_init(9), bcm63xx_ep_setup(9), iudma_write(9), iudma_read(9), iudma_reset_channel(9), iudma_init_channel(9), iudma_init(9), iudma_uninit(9), bcm63xx_set_ctrl_irqs(9), bcm63xx_select_phy_mode(9), bcm63xx_select_pullup(9), bcm63xx_uninit_udc_hw(9), bcm63xx_init_udc_hw(9), bcm63xx_ep_enable(9), bcm63xx_ep_disable(9), bcm63xx_udc_alloc_request(9), bcm63xx_udc_free_request(9), bcm63xx_udc_queue(9), bcm63xx_udc_dequeue(9), bcm63xx_udc_set_wedge(9), bcm63xx_ep0_setup_callback(9), bcm63xx_ep0_spoof_set_cfg(9), bcm63xx_ep0_spoof_set_iface(9), bcm63xx_ep0_map_write(9), bcm63xx_ep0_complete(9), bcm63xx_ep0_nuke_reply(9), bcm63xx_ep0_read_complete(9), bcm63xx_ep0_internal_request(9), bcm63xx_ep0_do_setup(9), bcm63xx_ep0_do_idle(9), bcm63xx_ep0_one_round(9), bcm63xx_ep0_process(9), bcm63xx_udc_get_frame(9), bcm63xx_udc_pullup(9), bcm63xx_udc_start(9), bcm63xx_udc_stop(9), bcm63xx_update_cfg_iface(9), bcm63xx_update_link_speed(9), bcm63xx_update_wedge(9), bcm63xx_udc_ctrl_isr(9), bcm63xx_udc_data_isr(9), bcm63xx_udc_init_debugfs(9), bcm63xx_udc_cleanup_debugfs(9), bcm63xx_udc_probe(9), bcm63xx_udc_remove(9)


and that's the whole page bestie!! πŸŽ€πŸ’– this gem comes to you straight from ./drivers/usb/gadget/udc, October 2026 edition, and it's been a total slay to walk through with you. go forth and halt those endpoints, you absolute icon πŸ‘‘βœ¨πŸ«Ά

πŸ“¦ where this page comes from