drm_kms_help...otplug_event(9)
π 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β thedrm_devicewhose 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 π₯
- Kernel file
./drivers/gpu/drm/drm_probe_helper.coutput probing helperoverview(9) drm_kms_helper_poll_enable(9)drm_kms_helper_poll_reschedule(9)drm_helper_probe_detect(9)drm_helper_probe_single_connector_modes(9)drm_kms_helper_connector_hotplug_event(9)drm_kms_helper_is_poll_worker(9)drm_kms_helper_poll_disable(9)drm_kms_helper_poll_init(9)drm_kms_helper_poll_fini(9)drmm_kms_helper_poll_init(9)drm_connector_helper_hpd_irq_event(9)drm_helper_hpd_irq_event(9)drm_crtc_helper_mode_valid_fixed(9)drm_connector_helper_get_modes_fixed(9)drm_connector_helper_get_modes(9)drm_connector_helper_tv_get_modes(9)drm_connector_helper_detect_from_ddc(9)
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
- 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