of_clk_get_by_name(9)
π¦ of_clk_get_by_name(9) π¦
okay bestie, welcome to the Kernel API Manual entry for of_clk_get_by_name(9) π
this is the function you call when your device tree node is like "hey, i need my clock" and you're like "say less, let me go find it" β¨
πΈ NAME πΈ
of_clk_get_by_name β parse and lookup a clock referenced by a device node π
β¨ SYNOPSIS β¨
struct clk * of_clk_get_by_name (struct device_node *np , const char *name );
π ARGUMENTS π
npβ pointer to clock consumer node π like, the device tree node that's consuming the clock, not the one providing it, iykyknameβ name of consumer's clock input, orNULLfor the first clock reference π so if you're too lazy to name it, passNULLand you get the first one, no cap
π§ DESCRIPTION π§
okay so here's the vibe: this function parses the clocks and clock-names properties, and uses them to look up the struct clk from the registered list of clock providers π«Ά
that's the whole thing. it reads the properties off your node, matches them up against everybody who's registered as a clock provider, and hands you back the struct clk * you've been waiting for. main character energy, honestly β
π₯ SEE ALSO π₯
the whole friend group, fr fr β go read these next, they're iconic π
- 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_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_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_parent_count(9)of_clk_parent_fill(9)of_clk_detect_critical(9)of_clk_init(9)
π that's the whole page, bestie! this lil gem lives over in ./drivers/clk and it's stamped October 2026 β go forth and get your clocks, you absolute icon π
π«Άβ¨
π¦ 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