STRUCT CLK_BULK_DATA(9)
π struct clk_bulk_data(9)
ok so this is a page from the Kernel API Manual, and honestly? it's short, it's sweet, and it's lowkey iconic. let's get into it bestie π«Ά
β¨ NAME β¨
struct clk_bulk_data β the data holder for bulk clk operations. that's it. that's the whole vibe check. π«
πΈ SYNOPSIS πΈ
here's the actual shape of it, no cap:
struct clk_bulk_data {
const char *id;
struct clk *clk;
};
like, two fields. two. we love a minimal queen π
π Members π
idβ the clock consumer ID. it's aconst char *, so it's giving byte-budget-friendly and also very much not yours to change πclkβ astruct clk *that stores the associated clock. this is where the actual clock pointer lives, bestie.
π¦ Description π¦
okay so here's the tea β β the CLK APIs come with a whole series of clk_bulk_ API calls, and they exist purely as a convenience for consumers who need multiple clks at once. you know, for when one clock is just not the moment π
and this struct? this struct is literally the little organizer that manages the data for all those calls. it's the main character holding the group chat together π§β¨
that's it. that's the description. short, useful, slay.
π SEE ALSO π
okay prepare yourself because this list is LONG and it ATE. iykyk π here's everything, and there's also the kernel file ./include/linux/clk.h to go peek at:
clk notifier callback types(9)struct clk_notifier(9)struct clk_notifier_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_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)
π bestie note: this one lives in the kernel source under ./include/linux, and the page is dated October 2026. go off, king. π₯
and that's the whole page!! short king energy, zero fluff, all facts. mwah πβ¨ see u in the next man page 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