STRUCT IMAGE_INFO(9)
π struct image_info(9) π
okay bestie, so we're in Kernel API Manual territory today and the star of the show is struct image_info β literally just "Firmware and RDDM table" and nothing more, and honestly? iconic minimalism. β¨
πΈ SYNOPSIS πΈ
like, here's the whole vibe, exactly as written, no notes:
struct image_info {
u32 entries;
struct mhi_buf mhi_buf[];
};
that's it. that's the struct. the way it's so small but carries so much responsibility? main character energy fr fr. π
π Members π
entriesβ the # of entries in table. yes, the manpage really does just say "# of entries in table" and we're respecting it. it's giving "confident, doesn't overexplain." πmhi_bufβ Buffer for firmware and RDDM table. that's the payload zone, the whole reason this struct exists, the moment. π¦
ngl there are exactly two members and both of them are doing their job. no cap.
π SEE ALSO π
okay this is the part where the manpage goes absolutely feral with cross-references, and i'm obsessed. every single one, in order, no skips, because we do not leave the girlies behind:
the enums and structs (the whole family):
enum mhi_callback(9)enum mhi_flags(9)enum mhi_device_type(9)enum mhi_ch_type(9)struct mhi_buf(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_device(9)struct mhi_result(9)struct mhi_driver(9)
the controller lifecycle (setup to teardown, a whole journey):
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)
power stuff (the dramatic chapters):
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)
RDDM mode (the deep lore π):
asking the device how it's doing:
device refcount + transfers (the day-to-day):
queueing (where the buffers actually go):
π that's 49 references and yes, i counted, and yes, __mhi_driver_register(9) keeps its double underscore exactly how it is, don't touch her.
π«Ά the kernel file drop π«Ά
this page lives in the kernel tree at:
./include/linux
so if you ever need to find it irl, iykyk. π§
β cute little sign-off β
this blessed page is from Kernel API Manual, dated October 2026, sourced from ./include/linux, and it answers to struct image_info(9) β remember the section number, bestie, section 9 is where all the kernel API girlies hang out. π
go forth and reference responsibly. slay. π β¨π
π¦ 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