clk_put(9)
π NAME π
clk_put β the "free the clock source" girlie β¨ like she's literally releasing her grip on the clock handle, no cap
This one lives in the Kernel API Manual (clk_put(9)), bestie β it's a kernel-level thing, not your average userland command π«Ά
β¨ SYNOPSIS β¨
void clk_put (struct clk *clk );
yep that's the whole signature, she's short and sweet π
π¦ ARGUMENTS π¦
clkβ the clock source. that's it. that's the argument. the clock source in question, the one you're putting down π
π NOTE π
okay so this part is important, like actually read it bestie π
- drivers must make sure that every single
clk_enablecall they did on this clock source is balanced out by a matchingclk_disablecall before they go calling this function. balanced, babe. for every enable there's a disable. that's the vibe check βοΈ
π¨ and <red>clk_put</red> should not be called from within interrupt context. like, do not. not the move. periodt π
π SEE ALSO π
Kernel file ./include/linux/clk.h β and honestly the whole clock clique, they all show up together π:
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_is_enabled_when_prepared(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_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)
like I said. the whole clique. go read them, iykyk ππ
okay that's the page!! π this little love letter to the kernel comes from <purple>./include/linux</purple> and it's dated <pink>October 2026</pink>, all about clk_put(9) β mwah, slay, see u in the next manpage bestie ππ§πΈ
π¦ 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