STRUCT BCM63XX_EP(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct bcm63xx_ep(9) β€” the Kernel API Manual, bestie edition πŸŽ€

okay so picture this: you're deep in the Kernel API Manual, poking at the USB gadget stack, and you meet struct bcm63xx_ep β€” literally the internal (driver) state of a single endpoint. one endpoint. that's it. that's the whole vibe. it's giving "main character energy" but make it a struct πŸ’–


✨ SYNOPSIS ✨

struct bcm63xx_ep {
    unsigned int                    ep_num;
    struct iudma_ch                 *iudma;
    struct usb_ep                   ep;
    struct bcm63xx_udc              *udc;
    struct list_head                queue;
    unsigned halted:1;
 };

like, look at her. six fields. no cap, every single one matters. 🫢


🌸 Members 🌸 (the cast of characters)

  • ep_num β€” the USB endpoint number. her little name tag 🏷️
  • iudma β€” a pointer to the IUDMA channel state. yes, pointer. don't lose it πŸ’€
  • ep β€” the USB gadget layer's representation of the EP. the glow-up version of the endpoint πŸ‘‘
  • udc β€” a reference to the device controller. the parent, the icon, the whole reason she exists 🌈
  • queue β€” a linked list of outstanding requests for this EP. the group chat of pending work fr fr πŸ“‹
  • halted β€” a 1 if the EP is stalled; 0 otherwise. binary queen, obsessed ✨

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/usb/gadget/udc/bcm63xx_udc.c

and the whole extended friend group, no one left out (iykyk) πŸ’œ:


like yeah that's a long list but every single one is linked from here, so you literally cannot get lost. 🧚 read them in order or just vibe-check the ones you need.

and that's the page, bestie!! 🌟 this one lives at ./drivers/usb/gadget/udc, dated October 2026, and it's struct bcm63xx_ep(9) all the way down. slay, go read the source, periodt πŸ’…πŸ”₯β­πŸ“

πŸ“¦ where this page comes from