drmm_connector_hdmi_init(9)
β¨ drmm_connector_hdmi_init(9) β¨
okay so bestie, welcome to the Kernel API Manual π this one's a little kernel-side gem called drmm_connector_hdmi_init, and honestly? it's giving "set up your HDMI connector the DRM-managed way" and we're obsessed π
πΈ NAME πΈ
drmm_connector_hdmi_init β Init a preallocated HDMI connector π
π¦ SYNOPSIS π¦
int drmm_connector_hdmi_init (struct drm_device *dev , struct
drm_connector *connector , const char *vendor , const char *product ,
const struct drm_connector_funcs *funcs , const struct
drm_connector_hdmi_funcs *hdmi_funcs , int connector_type , struct
i2c_adapter *ddc , unsigned long supported_formats , unsigned int
max_bpc );
bestie look at that signature. it's long. it's iconic. it ate and left no crumbs π₯
π ARGUMENTS π
devβ the DRM device, obvi π₯οΈconnectorβ a pointer to the HDMI connector you're about to init β¨vendorβ HDMI Controller Vendor name π·οΈproductβ HDMI Controller Product name π·οΈfuncsβ callbacks for this connector π«Άhdmi_funcsβ HDMI-related callbacks for this connector πΊconnector_typeβ user visible type of the connector πddcβ optional pointer to the associated ddc adapter (optional!! key word π)supported_formatsβ Bitmask ofdrm_output_color_formatlisting supported output formats πmax_bpcβ Maximum bits per char the HDMI connector supports π
π DESCRIPTION π
So what does it actually do? It initialises a preallocated HDMI connector. Periodt. π
And here's the cute part β connectors can be subclassed as part of driver connector objects π§ so you're not locked into just the plain thing, you can build your own lil driver connector object around it.
Cleanup? Don't even worry about it, bestie β it's automatically handled with a call to drm_connector_cleanup in a DRM-managed action πβ¨ the kernel literally handles the breakup for you.
π¨ Important things, no cap: - The connector structure should be allocated withdrmm_kzalloc. - Thedrm_connector_funcs.destroyhook must be NULL. Not "should", not "maybe" β must. Like, fr fr. π
β RETURN β
Zero on success, error code on failure π«Ά (so like, check it, bestie π)
π SEE ALSO π
okay this list is a whole vibe, grab a snack π:
- 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)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_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 β that's not me being messy, that's just canon π keep it.)
and that's the whole page, bestie!! go init some connectors, you got this π
this lil slice of kernel lore lives in ./drivers/gpu/drm, dated October 2026 β mwah, sending you off with a kiss and a drmm_kzalloc π«Άβ¨π
π¦ 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