drmm_plain_encoder_alloc(9)
π drmm_plain_encoder_alloc π
okay so bestie, you're in the Kernel API Manual (that's the manual name, iykyk) and today's main character is drmm_plain_encoder_alloc. she's small, she's simple, she's literally just an encoder allocator. let's go π
β¨ NAME β¨
drmm_plain_encoder_alloc β Allocate and initialize an encoder π¦
πΈ SYNOPSIS πΈ
drmm_plain_encoder_alloc (dev , funcs , encoder_type , name , ... );
like yes, those spaces are exactly how she's written, don't come for her π
π ARGUMENTS π
devβ the drm device π₯οΈfuncsβ the callbacks for this encoder (optional! yes queen, you can pass nothing here π«Ά)encoder_typeβ the user visible type of the encoder πnameβ aprintfstyle format string for the encoder name, orNULLfor the default name π·οΈ...β variable arguments (the lil extras that feed into that format string β¨)
π§ DESCRIPTION π§
So this is the simplified version of drmm_encoder_alloc, ok? π The way that she only allocates and returns a struct drm_encoder instance, with no subclassing. That's it. That's the whole vibe. no extra layers, no secret extra structs, just the plain encoder and she ate π₯
β RETURN β
She hands you back a pointer to the new drm_encoder struct π β or an ERR_PTR on failure π (so bestie, please check that pointer, do not just start using it, that's not the move π).
π SEE ALSO π
Kernel file ./include/drm/drm_encoder.h, plus the whole friend group:
struct drm_encoder_funcs(9)struct drm_encoder(9)drmm_encoder_alloc(9)drm_encoder_index(9)drm_encoder_mask(9)drm_encoder_crtc_ok(9)drm_encoder_find(9)drm_for_each_encoder_mask(9)drm_for_each_encoder(9)
lowkey reminder bestie: this page lives in ./include/drm, and ngl the version date on her is October 2026 β iconic, we love a forward-thinking timestamp ππ
and that's the page!! mwah, go allocate something cute π ππ
π¦ 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