drmm_connector_hdmi_init(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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 of drm_output_color_format listing 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 with drmm_kzalloc. - The drm_connector_funcs.destroy hook 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.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)
  • 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