clkdm_regis...atform_funcs(9)
π clkdm_regis...atform_funcs(9) π
okay so bestie, welcome to the Kernel API Manual β yes, that's the manual name, it's giving official, it's giving "I read docs for fun". this one's a little page about a 9-section kernel function and honestly? it's kind of a baddie. let's get into it β¨
πΈ NAME πΈ
clkdm_register_platform_funcs β registering the clockdomain implementation fns, periodt. that's it, that's the whole name, she's efficient π
π¦ SYNOPSIS π¦
int clkdm_register_platform_funcs (struct clkdm_ops *co );
literally the whole signature, copy it exactly bestie, co has a space before the paren, don't come for me, that's canon π
β ARGUMENTS β
coβ the func pointers for arch specific implementations π that's your lil bundle of function pointers, one per arch-specific vibe. she's the main character of this call, no cap.
π DESCRIPTION π
okay so here's the tea β β you're registering the list of function pointers that get used to implement the clockdomain functions on different OMAP SoCs. different chips, different implementations, same energy β¨
π¨ the way that this is IMPORTANT: it should be called before any other clkdm_register*() function. like, before. do not skip the line, bestie, this is the vibe check at the door πͺπ
and the return values, bestie, memorize them, they're iconic:
-EINVALifcois null π (you literally handed it nothing, of course it's mad)-EEXISTif platform functions have already been registered π (someone already did this, it's taken, move on)0upon success β¨ slay, she worked, we love a zero
π SEE ALSO π
okay so this is the part where the manpage just lists EVERYONE in the group chat and honestly? respect. the kernel file is ./arch/arm/mach-omap2/clockdomain.c and here's the full squad, all (9)s, all present and accounted for π«Ά:
_clkdm_register(9)_autodep_lookup(9)_resolve_clkdm_deps(9)_clkdm_add_wkdep(9)_clkdm_del_wkdep(9)_clkdm_add_sleepdep(9)_clkdm_del_sleepdep(9)clkdm_register_clkdms(9)clkdm_register_autodeps(9)clkdm_complete_init(9)clkdm_lookup(9)clkdm_for_each(9)clkdm_get_pwrdm(9)clkdm_add_wkdep(9)clkdm_del_wkdep(9)clkdm_read_wkdep(9)clkdm_clear_all_wkdeps(9)clkdm_add_sleepdep(9)clkdm_del_sleepdep(9)clkdm_read_sleepdep(9)clkdm_clear_all_sleepdeps(9)clkdm_sleep_nolock(9)clkdm_sleep(9)clkdm_wakeup_nolock(9)clkdm_wakeup(9)clkdm_allow_idle_nolock(9)clkdm_allow_idle(9)clkdm_deny_idle_nolock(9)clkdm_deny_idle(9)clkdm_add_autodeps(9)clkdm_del_autodeps(9)clkdm_clk_enable(9)clkdm_clk_disable(9)clkdm_hwmod_enable(9)clkdm_hwmod_disable(9)_clkdm_save_context(9)_clkdm_restore_context(9)clkdm_save_context(9)clkdm_restore_context(9)
like, forty-ish friends and every single one of them matters, we don't do "etc." in this house π§ββοΈ
π sign-off π
this lil page lives in ./arch/arm/mach-omap2, she's dated October 2026, and she answers to clkdm_regis...atform_funcs(9). that's the whole footer, bestie β go register your platform funcs before anything else, drink water, and remember: -EEXIST means someone beat you to it and that's okay πβ¨π
π¦ 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