_add_initiator_dep(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– _add_initiator_dep β€” a whole kernel API manual moment (section 9, bestie) πŸ’–

okay so picture this: you're deep in the kernel API manual, section 9, and you stumble on _add_initiator_dep. she's lowkey the bodyguard of the omap_hwmod world and honestly? she ate. let's get into it ✨


🌸 NAME 🌸

_add_initiator_dep β€” bestie's whole job is to prevent @oh from smart-idling while @init_oh is active. that's it. that's the gig. no cap 🫢


πŸŽ€ SYNOPSIS πŸŽ€

int _add_initiator_dep (struct omap_hwmod *oh , struct omap_hwmod *init_oh );

look at her go. two struct omap_hwmod * pointers, one int coming back. iconic behavior, honestly πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • oh β€” struct omap_hwmod *. the module we're protecting from idling. main character energy fr.
  • init_oh β€” -- undescribed --. and like… yeah. the manpage literally just says -- undescribed --. the docs said "we don't know her" 😭 so we're passing along exactly that, no inventing, no guessing, periodt.

⭐ DESCRIPTION ⭐

so here's the vibe check: _add_initiator_dep prevents the hardware module oh from entering idle while the hardware module initiator init_oh is active. πŸ›‘πŸ’€

it's highkey useful when a module is gonna be accessed by a particular initiator. the manpage's own example, and i quote the energy not the letters: if a module will be accessed by the IVA, there should be a sleepdep between the IVA initiator and the module. iykyk 🧚

and now the important fine print, because we keep facts over feelings:

  • only applies to modules in smart-idle mode. if you're not in smart-idle, this isn't your moment, sorry bestie πŸ™ˆ
  • if the clockdomain is marked as not needing autodeps, she returns 0 without doing anything β€” zero notes, straight out the door. πŸ’€
  • otherwise, she returns -EINVAL upon error, or passes along the clkdm_add_sleepdep value upon success. πŸŽ€
⚠️ real talk: init_oh is -- undescribed -- in the source docs. that's not me being lazy, that's the actual documentation, and we do not make up technical claims in this group chat. 🌈

πŸ”₯ SEE ALSO πŸ”₯

this list is long long. like, get a snack, bestie, we're reading the whole thing πŸ“

Kernel file ./arch/arm/mach-omap2/omap_hwmod.c and then:

like i said. she has friends. πŸ‘‘


πŸ’œ that's the whole page bestie β€” every flag, every return value, every reference, nothing skipped, nothing invented.

and finally, the cute sign-off πŸ’Œ: this gem lives in ./arch/arm/mach-omap2, dated October 2026, and it's filed under _add_initiator_dep(9) β€” go forth and not-idle responsibly, mwah πŸŽ€βœ¨πŸ’…

πŸ“¦ where this page comes from