diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2024-01-12 14:38:08 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2024-01-12 14:38:08 -0800 |
commit | d97a78423c33f68ca6543de510a409167baed6f5 (patch) | |
tree | 9d2bc891a3e7a46a2eed8674f9d7573d134a4d28 /drivers/firmware | |
parent | 61da593f4458f25c59f65cfd9ba1bda570db5db7 (diff) | |
parent | 689237ab37c59b9909bc9371d7fece3081683fba (diff) | |
download | linux-d97a78423c33f68ca6543de510a409167baed6f5.tar.gz linux-d97a78423c33f68ca6543de510a409167baed6f5.tar.bz2 linux-d97a78423c33f68ca6543de510a409167baed6f5.zip |
Merge tag 'fbdev-for-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev
Pull fbdev updates from Helge Deller:
"Three fbdev drivers (~8500 lines of code) removed. The Carillo Ranch
fbdev driver is for an Intel product which was never shipped, and for
the intelfb and the amba-clcd drivers the drm drivers can be used
instead.
The other code changes are minor: some fb_deferred_io flushing fixes,
imxfb margin fixes and stifb cleanups.
Summary:
- Remove intelfb fbdev driver (Thomas Zimmermann)
- Remove amba-clcd fbdev driver (Linus Walleij)
- Remove vmlfb Carillo Ranch fbdev driver (Matthew Wilcox)
- fb_deferred_io flushing fixes (Nam Cao)
- imxfb code fixes and cleanups (Dario Binacchi)
- stifb primary screen detection cleanups (Thomas Zimmermann)"
* tag 'fbdev-for-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev: (28 commits)
fbdev/intelfb: Remove driver
fbdev/hyperv_fb: Do not clear global screen_info
firmware/sysfb: Clear screen_info state after consuming it
fbdev/hyperv_fb: Remove firmware framebuffers with aperture helpers
drm/hyperv: Remove firmware framebuffers with aperture helper
fbdev/sis: Remove dependency on screen_info
video/logo: use %u format specifier for unsigned int values
video/sticore: Remove info field from STI struct
arch/parisc: Detect primary video device from device instance
fbdev/stifb: Allocate fb_info instance with framebuffer_alloc()
video/sticore: Store ROM device in STI struct
fbdev: flush deferred IO before closing
fbdev: flush deferred work in fb_deferred_io_fsync()
fbdev: amba-clcd: Delete the old CLCD driver
fbdev: Remove support for Carillo Ranch driver
fbdev: hgafb: fix kernel-doc comments
fbdev: mmp: Fix typo and wording in code comment
fbdev: fsl-diu-fb: Fix sparse warning due to virt_to_phys() prototype change
fbdev: imxfb: add '*/' on a separate line in block comment
fbdev: imxfb: use __func__ for function name
...
Diffstat (limited to 'drivers/firmware')
-rw-r--r-- | drivers/firmware/sysfb.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/firmware/sysfb.c b/drivers/firmware/sysfb.c index 82fcfd29bc4d..19706bd2642a 100644 --- a/drivers/firmware/sysfb.c +++ b/drivers/firmware/sysfb.c @@ -71,7 +71,7 @@ EXPORT_SYMBOL_GPL(sysfb_disable); static __init int sysfb_init(void) { - struct screen_info *si = &screen_info; + const struct screen_info *si = &screen_info; struct simplefb_platform_data mode; const char *name; bool compatible; @@ -119,6 +119,18 @@ 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); |