omap44xx_pr..._clear_irqen(9)
π omap44xx_pr..._clear_irqen β like, the whole glow-up
bestie, you found it: the page for omap44xx_prm_save_and_clear_irqen (yes the header truncates the name, that's just the manual being dramatic, the real one is the full thing) from the Kernel API Manual. sit down, this one's short but it matters π
β¨ NAME β¨
omap44xx_prm_save_and_clear_irqen β literally the save-and-clear girlie for the PRM_IRQENABLE_MPU* regs π«Ά
πΈ SYNOPSIS πΈ
void omap44xx_prm_save_and_clear_irqen (u32 *saved_mask );
no cap, that's the whole signature. void going in, void coming out β she gives nothing back and honestly? iconic π
π¦ ARGUMENTS π¦
saved_maskβ ptr to au32array to save IRQENABLE bits. that's it. that's the assignment. it's a pointer, you're handing her the storage, she fills it. you're the main character providing the venue π
β DESCRIPTION β
okay so here's the tea π₯
She saves the PRM_IRQENABLE_MPU and PRM_IRQENABLE_MPU_2 registers into saved_mask. Both of them. Not one. Both. she's thorough like that.
Heads up tho π β saved_mask must be allocated by the caller. She is not doing your memory management for you, bestie, that's your job. she just writes. you provide. it's giving healthy boundaries fr fr.
This one is intended to be used in the PRM interrupt handler suspend callback. so like, that's her natural habitat πΈ
And now the important bit β the OCP barrier is needed to ensure the write to disable PRM interrupts reaches the PRM before returning. Why, you ask? because otherwise spurious interrupts might occur π and nobody wants that. so the barrier stays. it's not optional decoration, it's the whole vibe check.
No return value. she returns void. she doesn't report back. she just does it. π
real talk: don't skip the barrier. spurious interrupts are not a cute look.
π SEE ALSO π
- Kernel file
./arch/arm/mach-omap2/prm44xx.c omap44xx_prm_read_pending_irqs(9)omap44xx_prm_ocp_barrier(9)omap44xx_prm_restore_irqen(9)omap44xx_prm_reconfigure_io_chain(9)omap44xx_prm_enable_io_wakeup(9)omap44xx_prm_read_reset_sources(9)omap44xx_prm_was_any_context_lost_old(9)omap44xx_prm_clear_context_loss_flags_old(9)omap4_pwrdm_read_prev_logic_pwrst(9)omap4_pwrdm_read_prev_mem_pwrst(9)omap4_pwrdm_save_context(9)omap4_pwrdm_restore_context(9)
that's the whole friend group right there π go read them too, iykyk π
and that's a wrap, babe π this little beauty lives in ./arch/arm/mach-omap2, dated October 2026, and it's page omap44xx_pr..._clear_irqen(9) of the Kernel API Manual. stan her, cite her, and for the love of everything β allocate your own saved_mask πΈπ¦β¨
π¦ 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