Revert "firmware/sysfb: Clear screen_info state after consuming it"
authorHelge Deller <deller@gmx.de>
Fri, 19 Jan 2024 20:47:15 +0000 (21:47 +0100)
committerHelge Deller <deller@gmx.de>
Fri, 19 Jan 2024 21:22:26 +0000 (22:22 +0100)
This reverts commit df67699c9cb0ceb70f6cc60630ca938c06773eda.

Jens Axboe reported a regression that his machine is failing to show a
console, or in fact anything, on current -git. There's no output and no
console after:

Loading Linux 6.7.0+ ...
Loading initial ramdisk ...

Signed-off-by: Helge Deller <deller@gmx.de>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Jens Axboe <axboe@kernel.dk>
drivers/firmware/sysfb.c

index 19706bd..82fcfd2 100644 (file)
@@ -71,7 +71,7 @@ EXPORT_SYMBOL_GPL(sysfb_disable);
 
 static __init int sysfb_init(void)
 {
-       const struct screen_info *si = &screen_info;
+       struct screen_info *si = &screen_info;
        struct simplefb_platform_data mode;
        const char *name;
        bool compatible;
@@ -119,18 +119,6 @@ static __init int sysfb_init(void)
        if (ret)
                goto err;
 
-       /*
-        * The firmware framebuffer is now maintained by the created
-        * device. Disable screen_info after we've consumed it. Prevents
-        * invalid access during kexec reboots.
-        *
-        * TODO: Vgacon still relies on the global screen_info. Make
-        *       vgacon work with the platform device, so we can clear
-        *       the screen_info unconditionally.
-        */
-       if (strcmp(name, "platform-framebuffer"))
-               screen_info.orig_video_isVGA = 0;
-
        goto unlock_mutex;
 err:
        platform_device_put(pd);