devm_clk_bulk_get_all(9)
πΈ devm_clk_bulk_get_all(9) β Kernel API Manual πΈ
okay so first of all, bestie, we're in the Kernel API Manual, and this page is called devm_clk_bulk_get_all(9). it's a clock thing. a bulk clock thing. with managed vibes. stay with me π
β¨ NAME β¨
devm_clk_bulk_get_all β managed get multiple clk consumers
like, you get ALL the clocks. and they're managed. and it slays π
π SYNOPSIS π
int devm_clk_bulk_get_all (struct device *dev , struct clk_bulk_data **clks );
π¦ ARGUMENTS π¦
devβ the device for the clock "consumer". yes the quotes are in the original, they're being cute about it, respect it πclksβ pointer to theclk_bulk_datatable of the consumer. this is where the goods get stored, no cap
π DESCRIPTION π
okay so here's the tea π β this function returns a positive value for the number of clocks obtained, and the clock references get stored in the clk_bulk_data table in the clks field. like a little clock goodie bag.
it returns 0 if there're none (sad, but valid, vibe check passed π«Ά) and a negative value if something failed (not slay, but at least you know π).
so this helper function is literally for letting drivers get several clk consumers in one operation with management. the whole point, the entire main-character energy of it: the clks will automatically be freed when the device is unbound. no manual cleanup arc. no leaking era. we love to see it π
β SEE ALSO β
bestie here's the whole extended friend group, the entire group chat of clock-related functions, and I am NOT leaving anyone out, they all get an invite π
- Kernel file
./include/linux/clk.h 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_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_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)
ngl the way there are like sixty friends on this list and every single one is a (9)β¦ iconic. group chat is THRIVING ππ
and that's the page!! this one lives in ./include/linux and it's dated October 2026, so like, future-coded but the clock knowledge is timeless β¨ mwah, go free your bulk clocks responsibly, bestie π§ββοΈπ
π¦ 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