clkdm_read_sleepdep(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’€ 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 β€” this struct clockdomain * is the dependent one, i.e. the one we're asking "hey, are you prevented from sleeping?" about πŸ₯Ί
  • clkdm2 β€” this struct clockdomain * is the source, the one whose activity is the whole reason clkdm1 might have to stay awake πŸ‘‘

πŸ’– DESCRIPTION πŸ’–

So this is the vibe check between two clockdomains. It returns:

  • 1 β€” slay, a hardware sleep dependency does exist, meaning clkdm1 will not be allowed to automatically go inactive while clkdm2 is active πŸ”₯
  • 0 β€” clkdm1's automatic power state inactivity transition is completely independent of clkdm2'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