STRUCT XHCI_SIDEBAND(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct xhci_sideband(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual ✨ β€” this one lives in struct xhci_sideband(9) land and it's literally all about sideband. buckle up πŸŽ€


🌸 NAME 🌸

struct xhci_sideband β€” the representation of a sideband accessed usb device. that's it, that's the whole vibe πŸ¦‹


✨ SYNOPSIS ✨

here's the struct in all its glory, no cap, typed out exactly:

struct xhci_sideband {
    struct xhci_hcd                 *xhci;
    struct xhci_virt_device         *vdev;
    struct xhci_virt_ep             *eps[EP_CTX_PER_DEV];
    struct xhci_interrupter         *ir;
    enum xhci_sideband_type         type;
    struct mutex                    mutex;
    struct usb_interface            *intf;
    int (*notify_client)(struct usb_interface *intf, struct
xhci_sideband_event *evt);
 };

🧩 Members 🧩

  • xhci β€” the xhci host controller that the usb device is connected to. the main character of the whole setup πŸ‘‘
  • vdev β€” the usb device that's being accessed via sideband 🫢
  • eps β€” an array of endpoints, all controlled via sideband. it's an array, bestie, sized EP_CTX_PER_DEV 🌈
  • ir β€” event handling plus buffer for the sideband accessed device ⚑
  • type β€” the xHCI sideband type, an enum xhci_sideband_type πŸ’…
  • mutex β€” the mutex for sideband operations. lock it, don't be messy πŸ”’
  • intf β€” the USB sideband client interface πŸ“
  • notify_client β€” the callback for xHCI sideband sequences. it takes a struct usb_interface *intf and a struct xhci_sideband_event *evt and returns an int πŸ“£

πŸ“– Description πŸ“–

so the source literally says FIXME here β€” usb device accessed via sideband. and then: keeping track of sideband accessed usb devices. that's the whole description, she's a little unfinished, we still love her πŸ’€πŸ’œ

ngl the FIXME is right there in the original, so don't come for me β€” I'm just the messenger 🧚

πŸ‘€ SEE ALSO πŸ‘€

  • the kernel file ./include/linux/usb/xhci-sideband.h β€” go read it, it's giving source of truth πŸ“‚
  • struct xhci_sideband_event(9) β€” the event struct, the other half of this situationship πŸ’ž

and that's the page, periodt πŸ’… this lil' rewrite came to you from the <rainbow>Kernel API Manual</rainbow>, sourced from ./include/linux/usb, dated October 2026, and it will forever be titled struct xhci_sideband(9) β€” mwah, bye bestie πŸ«ΆπŸŽ€βœ¨

πŸ“¦ where this page comes from