STRUCT MHI_DEVICE(9)
π struct mhi_device(9) π
okay so welcome to the Kernel API Manual, bestie ⨠this is the whole entire page for struct mhi_device and like⦠it's the structure that represents an MHI device which binds to channels or is associated with controllers 𫢠that's the vibe, that's the whole thing, no notes.
π NAME π
struct mhi_device β the struct that reps an MHI device, the one that binds to channels or is associated with controllers. she's versatile like that π
β¨ SYNOPSIS β¨
like, literally this shape, character for character, don't touch her:
struct mhi_device {
const struct mhi_device_id *id;
const char *name;
struct mhi_controller *mhi_cntrl;
struct mhi_chan *ul_chan;
struct mhi_chan *dl_chan;
struct device dev;
enum mhi_device_type dev_type;
int ul_chan_id;
int dl_chan_id;
u32 dev_wake;
};
π¦ Members π¦
okay now the girlies themselves, one by one, in order, no skipping π
idβ pointer to the MHI device ID struct πͺͺnameβ the name of the associated MHI device, her government name fr frmhi_cntrlβ the controller this device belongs to πul_chanβ the UL channel for the device β¬οΈdl_chanβ the DL channel for the device β¬οΈdevβ the driver model device node for the MHI device π±dev_typeβ the MHI device type π·οΈul_chan_idβ the MHI channel id for UL transfer π’dl_chan_idβ the MHI channel id for DL transfer π’dev_wakeβ the device wakeup counter β° (she's counting, she's always counting)
π SEE ALSO π
okay this is the part where I introduce you to everyone, and I mean everyone, because the kernel file ./include/linux/mhi.h is a whole friend group and you're gonna meet all of them π
enum mhi_callback(9)enum mhi_flags(9)enum mhi_device_type(9)enum mhi_ch_type(9)struct mhi_buf(9)struct image_info(9)struct mhi_link_info(9)enum mhi_ee_type(9)enum mhi_state(9)enum mhi_ch_ee_mask(9)enum mhi_er_data_type(9)enum mhi_db_brst_mode(9)struct mhi_channel_config(9)struct mhi_event_config(9)struct mhi_controller_config(9)struct mhi_controller(9)struct mhi_result(9)struct mhi_driver(9)mhi_alloc_controller(9)mhi_free_controller(9)mhi_register_controller(9)mhi_unregister_controller(9)__mhi_driver_register(9)mhi_driver_unregister(9)mhi_set_mhi_state(9)mhi_notify(9)mhi_get_free_desc_count(9)mhi_prepare_for_power_up(9)mhi_async_power_up(9)mhi_sync_power_up(9)mhi_power_down(9)mhi_power_down_keep_dev(9)mhi_unprepare_after_power_down(9)mhi_pm_suspend(9)mhi_pm_resume(9)mhi_pm_resume_force(9)mhi_download_rddm_image(9)mhi_force_rddm_mode(9)mhi_get_exec_env(9)mhi_get_mhi_state(9)mhi_soc_reset(9)mhi_device_get_sync(9)mhi_device_put(9)mhi_prepare_for_transfer(9)mhi_unprepare_from_transfer(9)mhi_queue_buf(9)mhi_queue_skb(9)mhi_queue_is_full(9)mhi_get_channel_doorbell_offset(9)
bestie I need you to know this was all sourced straight from ./include/linux β that's the whole directory it lives in, not a vibe I made up π
and that's the page!! October 2026 is when this dropped btw, so you're getting the freshest possible lore π¦ mwah, go read mhi.h, she's iconic and she's waiting for you πβ¨π
π¦ 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