STRUCT DRM_CLIENT_DEV(9)
π struct drm_client_dev(9) β the Kernel API Manual glow-up
okay so bestie, welcome to the Kernel API Manual, and today's main character is struct drm_client_dev β literally the DRM client instance itself. this is the one, no cap π
β¨ NAME β¨
struct drm_client_dev β DRM client instance π¦
πΈ SYNOPSIS πΈ
okay here's the whole vibe, verbatim, don't touch it, it's perfect:
struct drm_client_dev {
struct drm_device *dev;
const char *name;
struct list_head list;
const struct drm_client_funcs *funcs;
struct drm_file *file;
struct mutex modeset_mutex;
struct drm_mode_set *modesets;
bool suspended;
bool hotplug_pending;
bool hotplug_failed;
};
(that last brace lowkey has its own little indent situation going on. we respect it. we leave it. periodt π )
π Members π
time for the character-by-character compatibility check of every field, iykyk:
devβ the DRM device. your fave's home base πnameβ the name of the client. yes it has a name, it's iconic, let it have this β¨listβ the list of all clients of a DRM device, linked intodrm_device.clientlist. protected bydrm_device.clientlist_mutexβ so mind the lock, bestie, fr fr πfuncsβ the DRM client functions. optional! it's giving "if you know you know" π«Άfileβ the DRM file πmodeset_mutexβ protects modesets. it's astruct mutexand it's doing the most so nobody touches the modesets at the same time π€modesetsβ CRTC configurations. that's the whole point right there π«suspendedβboolthat says the client has been suspended. it's napping. do not disturb π€hotplug_pendingβ a hotplug event has been received while the client was suspended. try again on resume β like when your group chat blows up while you're asleep and you have to scroll back in the morning, except it's hotplug events πhotplug_failedβ set by client hotplug helpers if the hotplugging failed before. it is usually not tried again β so yeah, that ship has sailed, don't come for it π
lowkey a warning-ish vibe on those last two:hotplug_pendingmeans retry on resume, buthotplug_failedmeans nobody's trying that again. keep them straight or things get weird π
π SEE ALSO π
go read these next, they're all linked in the kernel file ./include/drm/drm_client.h:
struct drm_client_funcs(9)struct drm_client_buffer(9)drm_client_for_each_modeset(9)drm_client_for_each_connector_iter(9)
literally a whole friend group, go say hi π§
and that's the page!! this little beauty lives in ./include/drm, it's from October 2026, and it's titled struct drm_client_dev(9). mwah. slay. go forth and configure your CRTCs responsibly ππ
π¦ 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