clk_is_enabl...hen_prepared(9)
πΈ clk_is_enabled_when_prepared β Kernel API Manual energy β¨
okay bestie, this is a page straight out of the Kernel API Manual and honestly? it's a little baddie of a function that answers one very specific question for you π
β¨ NAME β¨
clk_is_enabled_when_prepared β literally tells you if preparing a clock also enables it, no cap.
π¦ SYNOPSIS π¦
bool clk_is_enabled_when_prepared (struct clk *clk );
π ARGUMENTS π
clkβ the clock source in question, your main character π«Ά
π DESCRIPTION π
So here's the vibe: this returns true if clk_prepare implicitly enables the clock, which effectively makes clk_enable/clk_disable total no-ops π β and false otherwise.
This is of interest mainly to the power management code, because over there, actually disabling the clock also requires unpreparing it for anything to have any material effect. like, the unprepare is doing the heavy lifting fr fr.
β οΈ Regardless of the value returned here, the caller must always invokeclk_enableorclk_prepare_enableand counterparts so that the usage counts stay right. no skipping, bestie, the usage counts keep receipts π
π SEE ALSO π
- the Kernel file
./include/linux/clk.h clk notifier callback types(9)struct clk_notifier(9)struct clk_notifier_data(9)struct clk_bulk_data(9)clk_notifier_register(9)clk_notifier_unregister(9)devm_clk_notifier_register(9)clk_get_accuracy(9)clk_set_phase(9)clk_get_phase(9)clk_set_duty_cycle(9)clk_get_scaled_duty_cycle(9)clk_is_match(9)clk_rate_exclusive_get(9)devm_clk_rate_exclusive_get(9)clk_rate_exclusive_put(9)clk_save_context(9)clk_restore_context(9)clk_prepare(9)clk_unprepare(9)clk_get(9)clk_bulk_get(9)clk_bulk_get_all(9)clk_bulk_get_optional(9)devm_clk_bulk_get(9)devm_clk_bulk_get_optional(9)devm_clk_bulk_get_enable(9)devm_clk_bulk_get_optional_enable(9)devm_clk_bulk_get_all(9)devm_clk_bulk_get_all_enabled(9)devm_clk_get(9)devm_clk_get_prepared(9)devm_clk_get_enabled(9)devm_clk_get_optional(9)devm_clk_get_optional_prepared(9)devm_clk_get_optional_enabled(9)devm_clk_get_optional_enabled_with_rate(9)devm_get_clk_from_child(9)clk_enable(9)clk_bulk_enable(9)clk_disable(9)clk_bulk_disable(9)clk_get_rate(9)clk_put(9)clk_bulk_put(9)clk_bulk_put_all(9)devm_clk_put(9)clk_round_rate(9)clk_set_rate(9)clk_set_rate_exclusive(9)clk_has_parent(9)clk_set_rate_range(9)clk_set_min_rate(9)clk_set_max_rate(9)clk_set_parent(9)clk_get_parent(9)clk_get_sys(9)clk_drop_range(9)clk_get_optional(9)
and that's the whole page, bestie π this little love letter lives in ./include/linux and it's dated October 2026 β so like, mark your calendar, it's giving timeless icon behavior πβ 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