STRUCT MHI_EP_DEVICE(9)
π 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, aconst 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 underenum mhi_device_type, obviously π
ok tiny note bestie:ul_chananddl_chanare bothstruct 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:
struct mhi_ep_channel_config(9)struct mhi_ep_cntrl_config(9)struct mhi_ep_db_info(9)struct mhi_ep_buf_info(9)struct mhi_ep_cntrl(9)struct mhi_ep_driver(9)__mhi_ep_driver_register(9)mhi_ep_driver_unregister(9)mhi_ep_register_controller(9)mhi_ep_unregister_controller(9)mhi_ep_power_up(9)mhi_ep_power_down(9)mhi_ep_queue_is_empty(9)mhi_ep_queue_skb(9)
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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms