_enable_clocks(9)
π
_enable_clocks(9) β Kernel API Manual, but make it make sense π
okay so bestie, welcome to the Kernel API Manual entry for _enable_clocks β it's giving "tiny function, huge friend group" energy, and I'm obsessed. Let's get into it. β¨
πΈ NAME πΈ
_enable_clocks β enable hwmod main clock and interface clocks. literally what it says on the tin, no cap. π
π¦ SYNOPSIS π¦
int _enable_clocks (struct omap_hwmod *oh );
that's it. that's the whole vibe check. one function, one argument, main character energy. π
π ARGUMENTS π
ohβ typestruct omap_hwmod *. this is the hwmod you're handing over, like "here bestie, take this, do your thing." π«Ά
β DESCRIPTION β
So here's the tea: _enable_clocks enables all the clocks necessary for register reads and writes to succeed on the hwmod oh. all of them. the main clock, the interface clocks, the whole squad β because if the clocks aren't on, your register reads and writes are just... not happening. π
And then? It returns 0. that's the flex. clean, simple, iconic. β
π SEE ALSO π
Bestie, buckle up β this function has the biggest friend group in the whole file. π«Ά Every single one of these is linked in the family group chat:
- kernel file
./arch/arm/mach-omap2/omap_hwmod.cβ the source, the mothership π struct clkctrl_provider(9),struct omap_hwmod_reset(9),struct omap_hwmod_soc_ops(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)_omap4_clkctrl_managed_by_clkfwk(9),_omap4_has_clkctrl_clock(9)_disable_clocks(9)β the evil twin π_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)
like I said. biggest friend group. ate and left no crumbs. π
ngl, if you're poking around hwmod clock-adjacent internals, you're already kind of a legend. read the source file, it's right there. π
πΈ that's the whole page, bestie! source path ./arch/arm/mach-omap2, Kernel API Manual, dated October 2026 β mwah, slay, periodt. πβ¨π
π¦ 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