omap_cm_wait_module_idle(9)
π omap_cm_wait_module_idle β like, the kernel-API-manual one, bestie
Okay so bestie, picture this: it's a 9-section man page, it lives in the Kernel API Manual, and its whole personality is waiting for a module to chill out. Yes, really. Let's get into it π«Ά
β¨ NAME β¨
omap_cm_wait_module_idle β wait for a module to enter idle or standby
Literally what it says on the tin: you sit there, patiently, until the module stops being clocked. Main character energy for a function that justβ¦ waits. π
πΈ SYNOPSIS πΈ
int omap_cm_wait_module_idle (u8 part , s16 prcm_mod , u16 idlest_reg ,
u8 idlest_shift );
Four args, one int back. No cap, that's the whole signature. π
π¦ ARGUMENTS π¦
partβ the PRCM partition. Which chunk of the PRCM we're talking about, that's it, that's the vibe.prcm_modβ the PRCM module offset. Where the module lives in the register map, lowkey the address-y bit.idlest_regβ theCM_IDLESTxregister. The lil' status register we're gonna stare at until it tells us what we wanna hear πidlest_shiftβ the shift of the bit in theCM_IDLEST*register to check. Like, which specific bit in that register is the one we care about. (Note the description below saysidlest_idinstead ofidlest_regβ that's the original's business, not mine, iykyk π)
π₯ DESCRIPTION π₯
So what does it do? It waits for the PRCM to indicate that the module identified by (prcm_mod, idlest_id, idlest_shift) is no longer clocked. That's it. That's the whole function. Clock go bye-bye, we celebrate β¨
Returns:
0β slay, success, the module went idle π-EBUSYβ the module doesn't enable in time π (yes, the man page says "enable" here even though we're waiting for idle β I don't make the rules, I just report them, fr fr)-EINVALβ invalid, because either:- no per-SoC
wait_module_idlefunction pointer has been registered π« , or - the idlest register is unknown on the SoC π
- no per-SoC
Heads up bestie: that -EINVAL case is the one that'll bite you if your SoC support isn't wired up. No function pointer registered = no vibes = no waiting. Periodt.
π SEE ALSO π
- Kernel file
./arch/arm/mach-omap2/cm_common.c(the whole thing, iconic) cm_split_idlest_reg(9)omap_cm_wait_module_ready(9)β the other waiting function, the ready-flavored one πomap_cm_module_enable(9)omap_cm_module_disable(9)cm_register(9)cm_unregister(9)omap2_cm_base_init(9)omap_cm_init(9)
Go read them, they're all in the clique π§
And that's the page! Big kiss to ./arch/arm/mach-omap2 for hosting this whole situation back in October 2026 β source and date both accounted for, we love a documented footer β Byeee! π
π¦ 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