clk_set_min_rate(9)
π clk_set_min_rate β set a minimum clock rate for a clock source π
okay so bestie, welcome to clk_set_min_rate(9) from the Kernel API Manual β yes it's a real one, yes it's iconic, let's get into it β¨
πΈ NAME πΈ
clk_set_min_rate β set a minimum clock rate for a clock source
like, it's literally in the name bestie, we're setting the floor on how slow a clock is allowed to go π«Ά
β¨ SYNOPSIS β¨
int clk_set_min_rate (struct clk *clk , unsigned long rate );
that's the whole signature, no cap π
π¦ ARGUMENTS π¦
clkβ the clock source π that's the clock you're doing all this forrateβ the desired minimum clock rate in Hz, inclusive β (yes inclusive, so the minimum counts as allowed, don't come for me)
π₯ DESCRIPTION π₯
Returns success (0) or negative errno.
that's it, that's the description. short and slay. if it works you get a 0, if it doesn't you get a negative errno and honestly that's the vibe check π
π SEE ALSO π
lowkey the friend group is HUGE, gather round:
Kernel file ./include/linux/clk.h plus these 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_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_max_rate(9)clk_set_parent(9)clk_get_parent(9)clk_get_sys(9)clk_drop_range(9)clk_get_optional(9)
that's the whole page bestie, go set some minimums responsibly π
β signed, sealed, delivered from ./include/linux, dated October 2026, brought to you by the Kernel API Manual crew π§βπ
π¦ 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