STRUCT MUSB_IO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct musb_io(9) ✨

okay so bestie, this is a page from the Kernel API Manual β€” it's all about struct musb_io, which is literally the IO functions for MUSB πŸ¦‹ like, the little bundle of function pointers that lets MUSB talk to whatever platform it happens to be sitting on?? iconic behaviour honestly.


🌸 NAME 🌸

struct musb_io β€” IO functions for MUSB πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

here's the whole vibe, no cap, copied exactly:

struct musb_io {
    u32 (*ep_offset)(u8 epnum, u16 offset);
    void (*ep_select)(void __iomem *mbase, u8 epnum);
    u32 (*fifo_offset)(u8 epnum);
    void (*read_fifo)(struct musb_hw_ep *hw_ep, u16 len, u8 *buf);
    void (*write_fifo)(struct musb_hw_ep *hw_ep, u16 len, const u8 *buf);
    u32 (*busctl_offset)(u8 epnum, u16 offset);
    u16 (*get_toggle)(struct musb_qh *qh, int is_out);
    u16 (*set_toggle)(struct musb_qh *qh, int is_out, struct urb *urb);
 };

πŸ‘‘ Members πŸ‘‘

so each one of these is a function pointer, and every single one of them is platform specific β€” meaning the platform fills it in, not you, bestie πŸ™ˆ here's the full roster:

  • ep_offset β€” platform specific function to get end point offset ⭐
  • ep_select β€” platform specific function to select end point 🎯
  • fifo_offset β€” platform specific function to get fifo offset πŸ“
  • read_fifo β€” platform specific function to read fifo πŸ“–
  • write_fifo β€” platform specific function to write fifo ✍️
  • busctl_offset β€” platform specific function to get busctl offset 🚌
  • get_toggle β€” platform specific function to get toggle πŸ”
  • set_toggle β€” platform specific function to set toggle βœ…

that's all eight of them, we did not skip a single one, periodt πŸ’€


πŸ”₯ SEE ALSO πŸ”₯

  • Kernel file ./drivers/usb/musb/musb_io.h β€” go read it, iykyk πŸ’œ

and that's the whole page, bestie!! 🫢 this one lives under ./drivers/usb/musb and it's dated October 2026 β€” so yeah, future vibes only 🌈 mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from