clk_unregister(9)
π
clk_unregister(9) β from the Kernel API Manual, bestie β¨
okay so real talk, we're doing clk_unregister(9) today and honestly? it's a short one but it matters. this is the "break up with your clock, gently" function. no cap. ππ
πΈ NAME πΈ
clk_unregister β unregister a currently registered clock. that's it. that's the whole vibe. you had a clock, it was registered, now it's not. character development. π¦
β¨ SYNOPSIS β¨
void clk_unregister (struct clk *clk );
literally one argument, returns nothing, no notes. clean. iconic. π
π«Ά ARGUMENTS π«Ά
clkβ the clock to unregister. that's your clock, the one you're letting go of. hand it over and let it live its life. π
π SEE ALSO π
bestie this list is LONG and i need you to know i did not skip a single one, because every single one of these is part of the family. the whole clock subsystem said "we're a package deal" and honestly? respect. π
First up, the β¨ source of truth β¨ β Kernel file ./drivers/clk/clk.c, plus the big one: struct clk_core(9).
Then, in the order the manual gives them (no reordering, i'm not a monster):
clk_pm_runtime_get_all(9)clk_pm_runtime_put_all(9)clk_core_get(9)clk_determine_rate_noop(9)clk_rate_exclusive_put(9)clk_rate_exclusive_get(9)clk_unprepare(9)clk_prepare(9)clk_disable(9)clk_gate_restore_context(9)clk_save_context(9)clk_restore_context(9)clk_enable(9)clk_is_enabled_when_prepared(9)clk_hw_init_rate_request(9)clk_hw_forward_rate_request(9)__clk_determine_rate(9)clk_hw_round_rate(9)clk_round_rate(9)__clk_notify(9)__clk_recalc_accuracies(9)clk_get_accuracy(9)__clk_recalc_rates(9)clk_get_rate(9)clk_hw_get_parent_index(9)__clk_speculate_rates(9)clk_set_rate(9)clk_set_rate_exclusive(9)clk_set_rate_range(9)clk_set_min_rate(9)clk_set_max_rate(9)clk_get_parent(9)clk_has_parent(9)clk_set_parent(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_debug_register(9)clk_debug_init(9)__clk_core_init(9)clk_core_link_consumer(9)clk_core_unlink_consumer(9)alloc_clk(9)free_clk(9)clk_hw_create_clk(9)clk_hw_get_clk(9)dev_or_parent_of_node(9)clk_register(9)clk_hw_register(9)clk_hw_unregister(9)devm_clk_register(9)devm_clk_hw_register(9)devm_clk_hw_get_clk(9)clk_notifier_register(9)clk_notifier_unregister(9)struct of_clk_provider(9)of_clk_add_provider(9)of_clk_add_hw_provider(9)devm_of_clk_add_hw_provider(9)of_clk_del_provider(9)of_parse_clkspec(9)of_clk_get_from_provider(9)of_clk_get_by_name(9)of_clk_get_parent_count(9)of_clk_parent_fill(9)of_clk_detect_critical(9)of_clk_init(9)
see? all of them. sixty-nine-ish buddies plus the file and the struct, and not one of them ghosted. π«Άβ¨
ok real talk bestie: clk_unregister is the counterpart to registering a clock, so if you registered it, this is how you un-register it. the manual doesn't say more than that, and i'm not gonna make stuff up β we keep it factual up in here, periodt. π
π§ cute sign-off π§
that's the whole page, bestie!! π this little masterpiece lives in the source ./drivers/clk, and it's dated October 2026 β yes, the future, because the clock subsystem is always ahead of schedule. πβ go unregister something responsibly. 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