]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/solomon: Simplify get_modes() using DRM helper
authorIker Pedrosa <ikerpedrosam@gmail.com>
Sat, 20 Sep 2025 09:45:44 +0000 (11:45 +0200)
committerJavier Martinez Canillas <javierm@redhat.com>
Fri, 26 Sep 2025 13:04:46 +0000 (15:04 +0200)
The ssd130x_connector_get_modes function contains a manual implementation
to manage modes.

This pattern is common for simple displays, and the DRM core already
provides the drm_connector_helper_get_modes_fixed() helper for this exact
use case.

Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Iker Pedrosa <ikerpedrosam@gmail.com>
Link: https://lore.kernel.org/r/20250920-improve-ssd130x-v2-4-77721e87ae08@gmail.com
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
drivers/gpu/drm/solomon/ssd130x.c

index 80ff9005c104efcdd395131dcfce2fd14c6806d0..95cae4978f086d5742ec60e3a7c7978369bc0de5 100644 (file)
@@ -1732,20 +1732,8 @@ static const struct drm_encoder_funcs ssd130x_encoder_funcs = {
 static int ssd130x_connector_get_modes(struct drm_connector *connector)
 {
        struct ssd130x_device *ssd130x = drm_to_ssd130x(connector->dev);
-       struct drm_display_mode *mode;
-       struct device *dev = ssd130x->dev;
-
-       mode = drm_mode_duplicate(connector->dev, &ssd130x->mode);
-       if (!mode) {
-               dev_err(dev, "Failed to duplicated mode\n");
-               return 0;
-       }
-
-       drm_mode_probed_add(connector, mode);
-       drm_set_preferred_mode(connector, mode->hdisplay, mode->vdisplay);
 
-       /* There is only a single mode */
-       return 1;
+       return drm_connector_helper_get_modes_fixed(connector, &ssd130x->mode);
 }
 
 static const struct drm_connector_helper_funcs ssd130x_connector_helper_funcs = {