drm_privacy_...tifier_chain(9)
π NAME π
drm_privacy_screen_call_notifier_chain β bestie, this is the little function that tells everybody the privacy screen changed its vibe β¨ (aka notify consumers of state change)
This page is from the Kernel API Manual, and we're gonna get into it π«Ά
πΈ SYNOPSIS πΈ
void drm_privacy_screen_call_notifier_chain (struct drm_privacy_screen *priv );
π ARGUMENTS π
privβ the privacy screen you're registering the notifier with π (yes, that's literally what it's for)
β¨ DESCRIPTION β¨
Okay so picture this: a privacy-screen provider driver can call this function when the privacy-screen state gets changed from the outside. Like, the hardware itself just did its own thing in response to a hotkey press π₯ β main character energy, honestly.
π¨ The one rule, no cap: this function must be called without holding the privacy-screen lock. Not "maybe," not "if you feel like it." Without. Periodt. π
Also, the driver has to update sw_state and hw_state so they actually reflect the new state before it calls this function. Don't skip that step, bestie, it's giving necessary π₯
So here's the expected behavior from the driver when it receives an external state change event β follow along, it's a whole sequence π:
- Take the lock π
- Update
sw_stateandhw_stateβοΈ - Release the lock π
- Call
drm_privacy_screen_call_notifier_chainπ£
Like yes, in that order. The lock and unlock are bookends and the state update is the filling. Iconic sandwich behavior, truly.
π¦ SEE ALSO π¦
- Kernel file
./drivers/gpu/drm/drm_privacy_screen.c overview(9)drm_privacy_screen_lookup_add(9)drm_privacy_screen_lookup_remove(9)drm_privacy_screen_get(9)drm_privacy_screen_put(9)drm_privacy_screen_set_sw_state(9)drm_privacy_screen_get_state(9)drm_privacy_screen_register_notifier(9)drm_privacy_screen_unregister_notifier(9)drm_privacy_screen_register(9)drm_privacy_screen_unregister(9)
That's the whole thing, bestie. This lil page lives in ./drivers/gpu/drm and it's dated October 2026 β so go forth, call your notifier chain, hold zero locks, and slay πππ
π¦ 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