clk_enable(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– clk_enable(9) β€” Kernel API Manual ✨

okay so bestie, welcome to the glow-up era of the kernel clock API. this is clk_enable, and no cap, she's the one who tells the system "hey, this clock source needs to be running rn." πŸ•πŸ’…


✨ NAME ✨

clk_enable β€” inform the system when the clock source should be running. literally her whole job. iconic.


πŸ¦‹ SYNOPSIS πŸ¦‹

int clk_enable (struct clk *clk );

πŸŽ€ ARGUMENTS πŸŽ€

  • clk β€” clock source. that's it. that's the whole argument, and she ate. πŸ‘‘

🌸 DESCRIPTION 🌸

so here's the vibe check: if the clock can't actually be enabled or disabled, this should return success. yeah, for real β€” no error, just success. that's the rule, don't come for me. 😌

and the tea: this one may be called from atomic contexts. β˜•πŸ”₯ which is highkey a big deal, so don't be weird about it.

she returns success (0) or a negative errno. that's the two moods. πŸ’€


🫢 SEE ALSO 🫢

the whole friend group, fr fr β€” they all deserve a shoutout:

Kernel file ./include/linux/clk.h πŸ’– and her besties:

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_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)

like, that's a whole group chat and every single one of them is in it. πŸ§šπŸ’œ


mwah πŸ’‹ that's the page. this manual page came from the ./include/linux source, dated October 2026 β€” so go off, queen, and remember: enable responsibly. 🌈⭐

πŸ“¦ where this page comes from