drm_kms_help...otplug_event(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

drm_kms_helper_hotplug_event β€” the function that literally fires off KMS hotplug events πŸ”₯

Okay so real talk, this lives in the Kernel API Manual (yes bestie, kernel docs can be cute too, iykyk), and it's the glow-up moment where your driver gets to scream "something changed!!" at the rest of the system ✨


πŸŽ€ SYNOPSIS πŸŽ€

void drm_kms_helper_hotplug_event (struct drm_device *dev );

That's it. That's the whole vibe. One arg, no return, no notes πŸ’…


πŸ¦‹ ARGUMENTS πŸ¦‹

  • dev β€” the drm_device whose connector state changed, aka the main character of this whole situation πŸ‘‘

🌸 DESCRIPTION 🌸

So here's the tea β˜•: this function fires off the uevent for userspace and calls the client hotplug function too. That client hotplug thing is most commonly used to inform the fbdev emulation code and let it update the fbcon output configuration β€” so like, all the console display stuff gets caught up 🫢

Drivers should call this from their hotplug handling code when a change is detected. But β€” and this is the important part, no cap β€” this function does not do any output detection of its own, like drm_helper_hpd_irq_event does. That detection is assumed to already be done by the driver. You're the detective, this function is just the messenger πŸ•΅οΈβ€β™€οΈπŸ’–

⚠️ Big warning bestie: this function must be called from process context with no mode setting locks held. Like, zero locks. None. Do not pass go, do not collect $200 πŸ’€

And if only a single connector has changed? Consider calling drm_kms_helper_connector_hotplug_event instead β€” it's giving more targeted, more precise, lowkey the smarter move for that case 🎯


πŸ”₯ SEE ALSO πŸ”₯


Mwah πŸ’‹ that's the whole page! This lil' slice of kernel lore came straight out of ./drivers/gpu/drm (the source, bestie), and it's dated October 2026 β€” so like, fresh but also timeless, iconic behavior honestly 🌈⭐ Go forth and hotplug responsibly πŸ§šβ€β™€οΈπŸ’œ

πŸ“¦ where this page comes from