drm_connector_unregister(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… drm_connector_unregister β€” the "okay bye bestie" for connectors ✨

So this is a page straight out of the Kernel API Manual (yes, the kernel has its own manual, slay), and it's about ✨ unregistering ✨ a connector. Buckle up, it's short but it matters πŸŽ€


🌸 NAME 🌸

drm_connector_unregister β€” unregister a connector. That's it, that's the whole vibe. πŸ’…


✨ SYNOPSIS ✨

void drm_connector_unregister (struct drm_connector *connector );

Basically: you hand it a connector, it does The Thing, and it returns nothing (void β€” no receipts, no notes, just vibes). 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • connector β€” the connector you're unregistering, i.e. the main character of this whole operation πŸ‘‘

πŸ’– DESCRIPTION πŸ’–

Okay so the tea: this function unregisters the userspace interfaces for a connector. Like, it packs up the connector's little public-facing socials and takes them offline. πŸ“΅

But here's the part everyone gets wrong, so listen up bestie: drivers should only call this for dynamic connectors (MST), and only ones that were explicitly registered by calling drm_connector_dynamic_register. Those are the only ones who need you to manually log them out.

Every other connector β€” the static ones β€” gets unregistered automatically by DRM core. So drivers shouldn't be calling this function for those at all, mmkay? The core handles it. No cap. 🧚


πŸ™ˆ NOTE πŸ™ˆ

Existing uses of this function in drivers for static connectors should be a nop already β€” and they're scheduled to be removed. So if you're out here calling it on static connectors, it's basically a no-op era that's getting sunsetted. Lowkey time to clean that up. πŸ’€


πŸ”₯ SEE ALSO πŸ”₯

Buckle in, this list is long and honestly iconic β€” it's giving "the whole friend group":

Kernel file ./drivers/gpu/drm/drm_connector.c overview(9), drm_get_connector_type_name(9), drm_connector_get_cmdline_mode(9), drm_connector_init(9), drm_connector_dynamic_init(9), drm_connector_init_with_ddc(9), drmm_connector_init(9), drmm_connector_hdmi_init(9), drm_connector_attach_edid_property(9), drm_connector_attach_encoder(9), drm_connector_has_possible_encoder(9), drm_connector_cec_phys_addr_invalidate(9), drm_connector_cec_phys_addr_set(9), drm_connector_cleanup(9), drm_connector_register(9), drm_connector_dynamic_register(9), drm_get_connector_status_name(9), drm_get_connector_force_name(9), drm_connector_list_iter_begin(9), drm_connector_list_iter_next(9), drm_connector_list_iter_end(9), drm_get_subpixel_order_name(9), drm_display_info_set_bus_formats(9), drm_get_tv_mode_from_name(9), drm_get_colorspace_name(9), standard connector properties(9), drm_mode_create_dvi_i_properties(9), drm_connector_attach_dp_subconnector_property(9), HDMI connector properties(9), Analog TV Connector Properties(9), drm_connector_attach_content_type_property(9), drm_connector_attach_tv_margin_properties(9), drm_mode_create_tv_margin_properties(9), drm_mode_create_tv_properties_legacy(9), drm_mode_create_tv_properties(9), drm_mode_create_scaling_mode_property(9), Variable refresh properties(9), drm_connector_attach_vrr_capable_property(9), drm_connector_attach_scaling_mode_property(9), drm_mode_create_aspect_ratio_property(9), standard connector properties(9), drm_mode_create_hdmi_colorspace_property(9), drm_mode_create_dp_colorspace_property(9), drm_mode_create_content_type_property(9), drm_mode_create_suggested_offset_properties(9), drm_connector_set_path_property(9), drm_connector_set_tile_property(9), drm_connector_set_link_status_property(9), drm_connector_attach_max_bpc_property(9), drm_connector_attach_hdr_output_metadata_property(9), drm_connector_attach_broadcast_rgb_property(9), drm_connector_attach_colorspace_property(9), Color format(9), drm_connector_attach_color_format_property(9), drm_connector_atomic_hdr_metadata_equal(9), drm_connector_set_vrr_capable_property(9), drm_connector_set_panel_orientation(9), drm_connector_set_panel_orientation_with_quirk(9), drm_connector_set_orientation_from_panel(9), drm_connector_create_privacy_screen_properties(9), drm_connector_attach_privacy_screen_properties(9), drm_connector_attach_privacy_screen_provider(9), drm_connector_update_privacy_screen(9), drm_connector_find_by_fwnode(9), drm_connector_oob_hotplug_event(9), drm_connector_get_color_format(9), Tile group(9), drm_mode_put_tile_group(9), drm_mode_get_tile_group(9), drm_mode_create_tile_group(9), drm_connector_attach_panel_type_property(9)

(Yes, standard connector properties(9) shows up twice in there. We're not fixing it, we're respecting it. 😌)


And that's the whole page, bestie 🫢 β€” brought to you by the fine folks over at ./drivers/gpu/drm, stamped October 2026. Go forth and only unregister your dynamic connectors, mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from