STRUCT ISP1760_UDC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’œ struct isp1760_udc(9) πŸ’œ

okay so bestie, we're in the Kernel API Manual and today's main character is struct isp1760_udc β€” literally the UDC state information struct. it's giving "everything the driver needs to remember about the gadget side" and honestly? iconic. let's get into it 🫢


✨ NAME ✨

struct isp1760_udc β€” UDC state information, no cap. here's the whole cast of fields and what each one is doing at the function:

  • isp β€” pointer to struct isp1760_device (it's right there in the struct, bestie)
  • irq β€” the IRQ number
  • irqname β€” the IRQ name, as passed to request_irq
  • regs β€” the regmap for UDC registers
  • fields[DC_FIELD_MAX] β€” array of struct regmap_field *, sized DC_FIELD_MAX
  • driver β€” the gadget driver
  • gadget β€” the gadget device
  • lock β€” this one's the bodyguard πŸ›‘οΈ it protects driver, vbus_timer, ep, ep0_*, and the DC_EPINDEX register
  • vbus_timer β€” a struct timer_list, just vibing in there
  • ep β€” array of endpoints (ep[15], yes fifteen of them)
  • ep0_state β€” control request state for endpoint 0
  • ep0_dir β€” direction of the current control request
  • ep0_length β€” length of the current control request
  • connected β€” tracks the gadget driver bus connection state
  • is_isp1763 β€” a bool, slaying quietly with no description attached
  • devstatus β€” an unsigned int, also flying under the radar with no description
the original NAME blurb only describes the fields above β€” isp, fields, vbus_timer, is_isp1763 and devstatus are just out here living their truth with no commentary. we respect it πŸ’…

🌸 SYNOPSIS 🌸

here's the whole struct, character for character, zero edits, because we do not mess with source code in this group chat:

struct isp1760_udc {
    struct isp1760_device *isp;
    int irq;
    char *irqname;
    struct regmap *regs;
    struct regmap_field *fields[DC_FIELD_MAX];
    struct usb_gadget_driver *driver;
    struct usb_gadget gadget;
    spinlock_t lock;
    struct timer_list vbus_timer;
    struct isp1760_ep ep[15];
    enum isp1760_ctrl_state ep0_state;
    u8 ep0_dir;
    u16 ep0_length;
    bool connected;
    bool is_isp1763;
    unsigned int devstatus;
 };

like… she's got pointers, she's got a spinlock, she's got an array of fifteen endpoints. she contains multitudes πŸ¦‹


πŸŽ€ Members πŸŽ€

bestie this section is literally empty in the original. nothing. a whole heading with no content underneath it. we love a mysterious queen who says nothing and leaves ✨


πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./drivers/usb/isp1760/isp1760-udc.h β€” go read it, iykyk πŸ’–

and that's the page, bestie! πŸŽ‰ no cap, you now know struct isp1760_udc better than you know your own notifications πŸ’€

sign-off szn: this one came from ./drivers/usb/isp1760, dated October 2026, and its whole title card reads struct isp1760_udc(9). periodt πŸ‘‘πŸ’…

πŸ“¦ where this page comes from