STRUCT OMAP_HWMOD_SOC_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct omap_hwmod_soc_ops β€” Kernel API Manual ✨

okay so bestie, welcome to the Kernel API Manual page for struct omap_hwmod_soc_ops β€” it's literally a struct full of function pointers for some SoC-specific operations, and it's giving ✨organized chaos✨. no cap. 🫢


🌸 NAME 🌸

struct omap_hwmod_soc_ops β€” fn ptrs for some SoC-specific operations πŸ’–


✨ SYNOPSIS ✨

here's the whole squad in code form β€” every field stays exactly as-is, no edits, periodt:

struct omap_hwmod_soc_ops {
    void (*enable_module)(struct omap_hwmod *oh);
    int (*disable_module)(struct omap_hwmod *oh);
    int (*wait_target_ready)(struct omap_hwmod *oh);
    int (*assert_hardreset)(struct omap_hwmod *oh, struct omap_hwmod_rst_info *ohri);
    int (*deassert_hardreset)(struct omap_hwmod *oh, struct omap_hwmod_rst_info *ohri);
    int (*is_hardreset_asserted)(struct omap_hwmod *oh, struct omap_hwmod_rst_info *ohri);
    int (*init_clkdm)(struct omap_hwmod *oh);
    void (*update_context_lost)(struct omap_hwmod *oh);
    int (*get_context_lost)(struct omap_hwmod *oh);
    int (*disable_direct_prcm)(struct omap_hwmod *oh);
    u32 (*xlate_clkctrl)(struct omap_hwmod *oh);
};

look at all those pointers. iconic. πŸ‘‘


πŸŽ€ Members πŸŽ€

only two get their own lil write-up here, and they're serving:

  • enable_module β€” function to enable a module (via MODULEMODE) ✨
  • disable_module β€” function to disable a module (via MODULEMODE) πŸ’…

the rest of the members are chillin' up there in the synopsis, iykyk. πŸ¦‹


πŸ¦‹ Description πŸ¦‹

okay so there's a big XXX note here and it is lowkey a TODO, so listen up:

XXX Eventually this functionality will be hidden inside the PRM/CM device drivers. Until then, this should avoid huge blocks of cpu_is_*() conditionals in this code.

so rn it's out here so we don't have giant walls of cpu_is_*() conditionals running around in this code. it's giving "we'll refactor later" energy, and honestly? valid. πŸ’€


🌈 SEE ALSO 🌈

the whole extended friend group, fr fr β€” every single one, no skips:


and that's the page, bestie! 🫢 source: ./arch/arm/mach-omap2, dated October 2026 β€” mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from