drmm_crtc_init_with_planes(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay bestie, welcome to the Kernel API Manual page for drmm_crtc_init_with_planes(9) πŸ’…βœ¨ this one is all about setting up a brand-new CRTC object with its primary and cursor planes, and it is lowkey iconic.

✨ NAME ✨

drmm_crtc_init_with_planes β€” initialise a new CRTC object with the specified primary and cursor planes πŸŽ€

πŸ“œ SYNOPSIS πŸ“œ

int drmm_crtc_init_with_planes (struct drm_device *dev , struct drm_crtc *crtc , struct drm_plane *primary , struct drm_plane *cursor , const struct drm_crtc_funcs *funcs , const char *name , ... );

🧾 ARGUMENTS 🧾

  • dev β€” the DRM device, aka the whole vibe container 🫢
  • crtc β€” the CRTC object you're initialising, main character energy πŸ‘‘
  • primary β€” the primary plane for the CRTC
  • cursor β€” the cursor plane for the CRTC
  • funcs β€” callbacks for the new CRTC, the little handler squad ✨
  • name β€” a printf style format string for the CRTC name, or NULL for the default name
  • ... β€” variable arguments, because sometimes you gotta bring the whole group chat πŸ’¬

πŸ’« DESCRIPTION πŸ’«

This initialises a new object created as the base part of a driver CRTC object. Drivers should use this function instead of drm_crtc_init, which is only provided for backwards compatibility with drivers which do not yet support universal planes).

Cleanup is automatically handled through registering drmm_crtc_cleanup with drmm_add_action 🧹✨. The crtc structure should be allocated with drmm_kzalloc.

⚠️ bestie, important: the drm_crtc_funcs.destroy hook must be NULL πŸ’€ no cap.

The primary and cursor planes are only relevant for legacy uAPI, see drm_crtc.primary and drm_crtc.cursor 🌈.

🎯 RETURN 🎯

Returns zero on success, and an error code on failure 😭. That's the whole return vibe.

πŸ‘€ SEE ALSO πŸ‘€

go peek at these besties:


xoxo, your kernel bestie πŸ’– β€” source/version: ./drivers/gpu/drm, date: October 2026, page: drmm_crtc_init_with_planes(9). bye bestie, go init those CRTCs responsibly πŸŽ€βœ¨

πŸ“¦ where this page comes from