drmm_universal_plane_alloc(9)
π¦ 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 containsstruct drm_planememberβ the name of thedrm_planewithintypepossible_crtcsβ bitmask of possible CRTCsfuncsβ callbacks for the new planeformatsβ array of supported formats (DRM_FORMAT_β yes, exactly like that on the page, bestie πformat_countβ number of elements informatsformat_modifiersβ array ofstruct drm_formatmodifiers terminated byDRM_FORMAT_MOD_INVALIDplane_typeβ type of plane (overlay, primary, cursor)nameβ printf style format string for the plane name, orNULLfor 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.destroymust beNULL. 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:
struct drm_plane_state(9)struct drm_plane_funcs(9)enum drm_plane_type(9)struct drm_plane(9)drm_universal_plane_alloc(9)drm_plane_index(9)drm_plane_mask(9)drm_plane_find(9)drm_for_each_plane_mask(9)drm_for_each_legacy_plane(9)drm_for_each_plane(9)
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
- 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