Add a printer based function for dumping the modeline, so it's not limited to KMS debug. Note: The printed output intentionally does not have the "Modeline" prefix. Prefix, if any, is for the caller to decide when initializing drm_printer. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> --- drivers/gpu/drm/drm_modes.c | 13 +++++++++++++ include/drm/drm_modes.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c index c4f88c3a93b7..711750ab57c7 100644 --- a/drivers/gpu/drm/drm_modes.c +++ b/drivers/gpu/drm/drm_modes.c @@ -49,6 +49,19 @@ #include "drm_crtc_internal.h" +/** + * drm_mode_print - print a mode to drm printer + * @p: drm printer + * @mode: mode to print + * + * Write @mode description to struct drm_printer @p. + */ +void drm_mode_print(struct drm_printer *p, const struct drm_display_mode *mode) +{ + drm_printf(p, DRM_MODE_FMT "\n", DRM_MODE_ARG(mode)); +} +EXPORT_SYMBOL(drm_mode_print); + /** * drm_mode_debug_printmodeline - print a mode to dmesg * @mode: mode to print diff --git a/include/drm/drm_modes.h b/include/drm/drm_modes.h index b9bb92e4b029..10c45014fbff 100644 --- a/include/drm/drm_modes.h +++ b/include/drm/drm_modes.h @@ -32,6 +32,7 @@ #include <drm/drm_mode_object.h> #include <drm/drm_connector.h> +struct drm_printer; struct videomode; /* @@ -460,6 +461,7 @@ int drm_mode_convert_umode(struct drm_device *dev, struct drm_display_mode *out, const struct drm_mode_modeinfo *in); void drm_mode_probed_add(struct drm_connector *connector, struct drm_display_mode *mode); +void drm_mode_print(struct drm_printer *p, const struct drm_display_mode *mode); void drm_mode_debug_printmodeline(const struct drm_display_mode *mode); bool drm_mode_is_420_only(const struct drm_display_info *display, const struct drm_display_mode *mode); -- 2.39.2