clk_hw_round_rate(9)
π clk_hw_round_rate(9) π
okay so bestie, welcome to the Kernel API Manual page for clk_hw_round_rate(9) β yes it's a real function, yes it's lowkey the moment your rate gets β¨glowed upβ¨ so the hardware can actually deal with it. let's get into it π
πΈ NAME πΈ
clk_hw_round_rate β round the given rate for a hw clk β¨
π¦ SYNOPSIS π¦
unsigned long clk_hw_round_rate (struct clk_hw *hw , unsigned long rate
);
π ARGUMENTS π
hwβ the hw clk for which we are rounding a rate. this is the main character here πrateβ the rate which is to be rounded. she's giving raw input energy, about to get a makeover π
π DESCRIPTION π
So here's the vibe: you hand her a rate as input, and she rounds it to a rate that the clk can actually use. no cap, it's that simple β takes your number, gives it the vibe check, returns one that fits the hardware's whole situation π«Ά
β CONTEXT β
π¨ important bestie π¨ prepare_lock must be held. fr fr, don't skip this one.
This is for clk providers to call from within clk_ops, like .determine_rate β iykyk π
π₯ RETURN π₯
- returns the rounded rate of the hw clk if the clk supports the
determine_rateoperation β¨ - else, it returns the parent rate π (still valid, just not the glow-up you asked for)
π SEE ALSO π
okay this list is long long β but every single one is here, no skips, periodt π
Kernel file ./drivers/clk/clk.c:
struct clk_core(9)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_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_unregister(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)
and that's the whole page bestie, you ate that π«Άβ¨ this icon lives at ./drivers/clk, dated October 2026 β 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