STRUCT MHI_EP_DEVICE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct mhi_ep_device(9) β€” the Kernel API Manual, bestie edition πŸ’–

okay so this is a page from the Kernel API Manual and it's all about struct mhi_ep_device β€” literally the struct that represents an MHI Endpoint device that binds to channels or is associated with controllers. yes it's a mouthful, no I'm not gonna shorten it, it's iconic. πŸŽ€


🌸 NAME 🌸

struct mhi_ep_device β€” the structure that represents an MHI Endpoint device that binds to channels or is associated with controllers. both. she does both. main character energy fr fr πŸ’…


✨ SYNOPSIS ✨

struct mhi_ep_device {
    struct device dev;
    struct mhi_ep_cntrl *mhi_cntrl;
    const struct mhi_device_id *id;
    const char *name;
    struct mhi_ep_chan *ul_chan;
    struct mhi_ep_chan *dl_chan;
    enum mhi_device_type dev_type;
};

not me pasting the whole struct so you can see her in full glam πŸ‘‘ copy it exactly, don't get creative with the field names, I'm begging πŸ™


πŸ¦‹ Members πŸ¦‹

time for the member-by-member vibe check, let's go:

  • dev β€” the driver model device node for the MHI Endpoint device. that's her official paperwork, her government name, her whole identity in the driver model 🫢
  • mhi_cntrl β€” the controller the device belongs to. like, whose group chat is she in. that one πŸ’¬
  • id β€” pointer to the MHI Endpoint device ID struct. her ID card, lowkey πŸͺͺ
  • name β€” name of the associated MHI Endpoint device. yes, a const char *. yes, she's named. slay ✨
  • ul_chan β€” the UL (from host to endpoint) channel for the device. UL is the upload-ish direction, host ➑️ endpoint, no cap πŸ“€
  • dl_chan β€” the DL (from endpoint to host) channel for the device. and DL is the other way, endpoint ➑️ host πŸ”
  • dev_type β€” the MHI device type. filed under enum mhi_device_type, obviously πŸ’…
ok tiny note bestie: ul_chan and dl_chan are both struct mhi_ep_chan * β€” don't swap the directions in your head, that's the whole point of having two πŸ™ˆ

πŸ”₯ SEE ALSO πŸ”₯

go read these next, they're all in the kernel file ./include/linux/mhi_ep.h and honestly the whole crew is kind of a friend group at this point:

like genuinely read them, they ate and left no crumbs πŸ”₯πŸ‘‘


and that's the page!! πŸ’– this one lives over in ./include/linux, dated October 2026, and it's filed under struct mhi_ep_device(9) in the Kernel API Manual. mwah, go forth and bind those channels bestie πŸŒˆβ­πŸ§šπŸ’œ

πŸ“¦ where this page comes from