STRUCT OMAP_HWMOD_SOC_OPS(9)
π 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 (viaMODULEMODE) β¨disable_moduleβ function to disable a module (viaMODULEMODE) π
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:
XXXEventually this functionality will be hidden inside the PRM/CM device drivers. Until then, this should avoid huge blocks ofcpu_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:
- Kernel file
./arch/arm/mach-omap2/omap_hwmod.c struct clkctrl_provider(9)struct omap_hwmod_reset(9)_update_sysc_cache(9)_write_sysconfig(9)_set_master_standbymode(9)_set_slave_idlemode(9)_set_clockactivity(9)_set_softreset(9)_clear_softreset(9)_wait_softreset_complete(9)_set_dmadisable(9)_set_module_autoidle(9)_enable_wakeup(9)_add_initiator_dep(9)_del_initiator_dep(9)_init_main_clk(9)_init_interface_clks(9)_init_opt_clks(9)_enable_clocks(9)_omap4_clkctrl_managed_by_clkfwk(9)_omap4_has_clkctrl_clock(9)_disable_clocks(9)_omap4_enable_module(9)_omap4_wait_target_disable(9)_save_mpu_port_index(9)_find_mpu_rt_port(9)_enable_sysc(9)_idle_sysc(9)_shutdown_sysc(9)_lookup(9)_init_clkdm(9)_init_clocks(9)_lookup_hardreset(9)_assert_hardreset(9)_deassert_hardreset(9)_read_hardreset(9)_are_all_hardreset_lines_asserted(9)_are_any_hardreset_lines_asserted(9)_omap4_disable_module(9)_ocp_softreset(9)_reset(9)_omap4_update_context_lost(9)_omap4_get_context_lost(9)_enable(9)_idle(9)_shutdown(9)of_dev_hwmod_lookup(9)omap_hwmod_fix_mpu_rt_idx(9)omap_hwmod_parse_module_range(9)_init_mpu_rt_base(9)_init(9)_setup_iclk_autoidle(9)_setup_reset(9)_setup_postsetup(9)_setup(9)_register(9)_add_link(9)_register_link(9)_omap2xxx_3xxx_wait_target_ready(9)_omap4_wait_target_ready(9)_omap2_assert_hardreset(9)_omap2_deassert_hardreset(9)_omap2_is_hardreset_asserted(9)_omap4_assert_hardreset(9)_omap4_deassert_hardreset(9)_omap4_is_hardreset_asserted(9)_omap4_disable_direct_prcm(9)_am33xx_deassert_hardreset(9)omap_hwmod_softreset(9)omap_hwmod_lookup(9)omap_hwmod_for_each(9)omap_hwmod_register_links(9)_ensure_mpu_hwmod_is_setup(9)omap_hwmod_setup_one(9)omap_hwmod_check_sysc(9)omap_hwmod_init_regbits(9)omap_hwmod_init_reg_offs(9)omap_hwmod_init_sysc_flags(9)omap_hwmod_init_idlemodes(9)omap_hwmod_check_module(9)omap_hwmod_allocate_module(9)omap_hwmod_init_module(9)omap_hwmod_setup_earlycon_flags(9)omap_hwmod_setup_all(9)omap_hwmod_enable(9)omap_hwmod_idle(9)omap_hwmod_shutdown(9)omap_hwmod_get_mpu_rt_va(9)omap_hwmod_assert_hardreset(9)omap_hwmod_deassert_hardreset(9)omap_hwmod_for_each_by_class(9)omap_hwmod_set_postsetup_state(9)omap_hwmod_init(9)
and that's the page, bestie! π«Ά source: ./arch/arm/mach-omap2, dated October 2026 β mwah πβ¨
π¦ 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