drmm_universal_plane_alloc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ drmm_universal_plane_alloc(9) πŸ¦‹

okay so hiii bestie 🫢 β€” this is the Kernel API Manual page for drmm_universal_plane_alloc(9). it's giving β€œallocate and initialize an universal plane object,” and the cleanup situation is honestly iconic. let's get into it. πŸ’…


πŸ’– NAME πŸ’–

drmm_universal_plane_alloc β€” allocate and initialize an universal plane object ✨

🌸 SYNOPSIS 🌸

drmm_universal_plane_alloc (dev , type , member , possible_crtcs , funcs
, formats , format_count , format_modifiers , plane_type , name , ... );

✨ ARGUMENTS ✨

  • dev β€” DRM device πŸ–₯️
  • type β€” the type of the struct which contains struct drm_plane
  • member β€” the name of the drm_plane within type
  • possible_crtcs β€” bitmask of possible CRTCs
  • funcs β€” callbacks for the new plane
  • formats β€” array of supported formats (DRM_FORMAT_ β€” yes, exactly like that on the page, bestie 😭
  • format_count β€” number of elements in formats
  • format_modifiers β€” array of struct drm_format modifiers terminated by DRM_FORMAT_MOD_INVALID
  • plane_type β€” type of plane (overlay, primary, cursor)
  • name β€” printf style format string for the plane name, or NULL for default name
  • ... β€” variable arguments

🌈 DESCRIPTION 🌈

this one allocates and initializes a plane object of type type. cleanup is automatically handled through registering drm_plane_cleanup with drmm_add_action β€” so you don't have to manually do the goodbye dance, bestie. πŸ’…

🚨 drm_plane_funcs.destroy must be NULL. like, hard requirement. no cap.

drivers that only support the DRM_FORMAT_MOD_LINEAR modifier support may set format_modifiers to NULL. when that happens, the plane will advertise the linear modifier. ✨

πŸ‘‘ RETURN πŸ‘‘

pointer to new plane, or ERR_PTR on failure. that's the whole tea. if it works you get a plane; if not, error pointer. πŸ’€

πŸŽ€ SEE ALSO πŸŽ€

kernel file: ./include/drm/drm_plane.h β€” and the whole reference squad is:


and that's the page, bestie 🫢 β€” source ./include/drm, dated October 2026, and it's all about drmm_universal_plane_alloc(9). periodt. πŸ’…βœ¨

πŸ“¦ where this page comes from