drm_connecto...een_provider(9)
β¨ NAME β¨
drm_connector_attach_privacy_screen_provider β attach a privacy-screen to the connector π«Ά
okay so hi bestie, welcome to the Kernel API Manual β this is the page for drm_connector_attach_privacy_screen_provider, and it's literally the glow-up your connector needed: it's all about giving a DRM connector its very own privacy-screen β¨ (yes, the "can anyone see my screen rn" kind, iconic behavior honestly π
).
πΈ SYNOPSIS πΈ
void drm_connector_attach_privacy_screen_provider (struct drm_connector
*connector , struct drm_privacy_screen *priv );
like, that's the whole signature. two pointers, zero drama, one void return because we're not about to hand you a status code, we trust you π
π ARGUMENTS π
connectorβ the connector you're slapping the privacy-screen onto. this is the one getting the glow-up β¨privβ thedrm_privacy_screenyou're attaching. this is the actual privacy-screen object, main character energy π
π¦ DESCRIPTION π¦
So here's what it does, no cap: it creates and attaches the standard privacy-screen properties, and it registers a generic notifier that fires off sysfs-connector-status-events whenever the privacy-screen status changes from the outside world π₯ (like, externally. somebody else changes it. not you. and the notifier's job is to make sure everyone hears about it fr fr).
And now the part you actually need to remember, bestie, because it's giving ownership transfer π:
This function takes ownership of the passed indrm_privacy_screenand will calldrm_privacy_screen_puton it when the connector is destroyed. so likeβ¦ yeah, you handed it over. it's not yours anymore. it cleans up after itself, you don't double-free, everybody slays πβ¨
π SEE ALSO π
the reading list is long and honestly iconic β every one of these is a sibling page, go say hi π
- Kernel file
./drivers/gpu/drm/drm_connector.coverview(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_connector_unregister(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_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)
bestie you made it to the end π§ that's the whole page, and it comes straight out of ./drivers/gpu/drm, stamped October 2026 β go forth and attach your privacy-screens responsibly, mwah ππ
π¦ 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