drm_mode_prune_invalid(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… drm_mode_prune_invalid(9) β€” like, the Kernel API Manual page you actually wanna read

okay so bestie, welcome to drm_mode_prune_invalid(9), straight out of the Kernel API Manual ✨ this one is short and sweet and honestly kinda iconic β€” it's the cleanup crew of the DRM mode world 🧹


🌸 NAME 🌸

drm_mode_prune_invalid β€” remove invalid modes from mode list, no cap πŸ—‘οΈπŸ’–


✨ SYNOPSIS ✨

void drm_mode_prune_invalid (struct drm_device *dev , struct list_head
*mode_list , bool verbose );

like yes, that's the whole signature, she's compact πŸŽ€


🫢 ARGUMENTS 🫢

  • dev β€” the DRM device, your main character πŸ’…
  • mode_list β€” the list of modes you want checked, aka the friend group you're about to vibe check πŸ‘€
  • verbose β€” be verbose about it, i.e. say the quiet part out loud πŸ—£οΈβœ¨

πŸ”₯ DESCRIPTION πŸ”₯

okay so here's the tea β˜• β€” this helper function is what you call to prune a display mode list after validation has been completed. Like, the validation part already happened, this is the after-party where you decide who stays πŸŽ‰

All modes whose status is not MODE_OK get removed from the list. periodt. 🚫✨

And if verbose is set, the status code and the mode name are also printed to dmesg β€” so you get receipts in the logs, iykyk πŸ“œπŸ’…

ngl this is genuinely useful: it's the "okay everyone who didn't pass the vibe check, out you go" step 🌈

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./drivers/gpu/drm/drm_modes.c πŸ¦‹

and the whole extended friend group, in the order the manpage says hi to them:

drm_mode_debug_printmodeline(9), drm_mode_create(9), drm_mode_destroy(9), drm_mode_probed_add(9), drm_analog_tv_mode(9), drm_cvt_mode(9), drm_gtf_mode_complex(9), drm_gtf_mode(9), drm_display_mode_from_videomode(9), drm_display_mode_to_videomode(9), drm_bus_flags_from_videomode(9), of_get_drm_display_mode(9), of_get_drm_panel_display_mode(9), drm_mode_set_name(9), drm_mode_vrefresh(9), drm_mode_get_hv_timing(9), drm_mode_set_crtcinfo(9), drm_mode_copy(9), drm_mode_init(9), drm_mode_duplicate(9), drm_mode_match(9), drm_mode_equal(9), drm_mode_equal_no_clocks(9), drm_mode_equal_no_clocks_no_stereo(9), drm_mode_validate_driver(9), drm_mode_validate_size(9), drm_mode_validate_ycbcr420(9), drm_mode_compare(9), drm_mode_sort(9), drm_connector_list_update(9), drm_mode_parse_command_line_for_connector(9), drm_mode_create_from_cmdline_mode(9), drm_mode_convert_to_umode(9), drm_mode_convert_umode(9), drm_mode_is_420_only(9), drm_mode_is_420_also(9), drm_mode_is_420(9), drm_set_preferred_mode(9)

like, that's every single one, I did not skip a single bestie fr fr πŸ’€πŸ’–


and that's the page!! 🌟 source/version business for the sign-off: this lil beauty lives under ./drivers/gpu/drm and the date on it is October 2026 β€” go off, calendar πŸ“…πŸ‘‘ slay, and happy pruning bestie πŸ’…πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from