OSDN Git Service

fbdev: Read video= option with fb_get_option() in modedb
authorThomas Zimmermann <tzimmermann@suse.de>
Thu, 9 Feb 2023 13:55:03 +0000 (14:55 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Mon, 20 Feb 2023 13:56:45 +0000 (14:56 +0100)
Get the kernel's global video= parameter with fb_get_option(). Done
to unexport the internal fbdev state fb_mode_config. No functional
changes.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230209135509.7786-6-tzimmermann@suse.de
drivers/video/fbdev/core/modedb.c

index 6473e0d..23cf8eb 100644 (file)
@@ -620,6 +620,7 @@ int fb_find_mode(struct fb_var_screeninfo *var,
                 const struct fb_videomode *default_mode,
                 unsigned int default_bpp)
 {
+       char *mode_option_buf = NULL;
        int i;
 
        /* Set up defaults */
@@ -635,8 +636,10 @@ int fb_find_mode(struct fb_var_screeninfo *var,
                default_bpp = 8;
 
        /* Did the user specify a video mode? */
-       if (!mode_option)
-               mode_option = fb_mode_option;
+       if (!mode_option) {
+               fb_get_options(NULL, &mode_option_buf);
+               mode_option = mode_option_buf;
+       }
        if (mode_option) {
                const char *name = mode_option;
                unsigned int namelen = strlen(name);
@@ -715,6 +718,7 @@ int fb_find_mode(struct fb_var_screeninfo *var,
                        res_specified = 1;
                }
 done:
+               kfree(mode_option_buf);
                if (cvt) {
                        struct fb_videomode cvt_mode;
                        int ret;