clkdm_read_sleepdep(9)
π€ clkdm_read_sleepdep β a Kernel API Manual moment π€
okay so bestie, buckle in, because we're reading a sleep dependency straight out of the clockdomain machinery, and it's honestly giving "quiet little function that knows everything about who's allowed to nap" β¨
πΈ NAME πΈ
clkdm_read_sleepdep β read the sleep dependency state from clkdm2 to clkdm1, no cap π
π SYNOPSIS π
int clkdm_read_sleepdep (struct clockdomain *clkdm1 , struct clockdomain
*clkdm2 );
π¦ ARGUMENTS π¦
clkdm1β thisstruct clockdomain *is the dependent one, i.e. the one we're asking "hey, are you prevented from sleeping?" about π₯Ίclkdm2β thisstruct clockdomain *is the source, the one whose activity is the whole reasonclkdm1might have to stay awake π
π DESCRIPTION π
So this is the vibe check between two clockdomains. It returns:
1β slay, a hardware sleep dependency does exist, meaningclkdm1will not be allowed to automatically go inactive whileclkdm2is active π₯0βclkdm1's automatic power state inactivity transition is completely independent ofclkdm2's, they're living their own lives, no strings attached π¦-EINVALβ either clockdomain pointer is invalid, or you called this on a machine that doesn't support software-configurable hardware sleep dependencies π-ENOENTβ the hardware itself is just incapable, it's not you, it's the silicon π
REVISIT: rn this function only represents software-controllable sleep dependencies. Sleep dependencies that are fixed in hardware are not yet handled here β so don't come for her about stuff she hasn't implemented yet π
π SEE ALSO π
Kernel file ./arch/arm/mach-omap2/clockdomain.c plus the whole friend group:
_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_platform_funcs(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_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)
okay that's the whole page, mwah π this one lives over in ./arch/arm/mach-omap2 and the version/date stamp on it is October 2026 β signed, sealed, and delivered in the Kernel API Manual, periodt π«Άβ¨π
π¦ 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