diff options
| author | Thomas Zimmermann <[email protected]> | 2025-06-03 15:48:20 +0000 |
|---|---|---|
| committer | Thomas Zimmermann <[email protected]> | 2025-06-05 15:54:31 +0000 |
| commit | f670b50ef5e4a69bf4d2ec5ac6a9228d93b13a7a (patch) | |
| tree | 3a483d4f79dddd1ba43244e735e6250f538a46ae /drivers/fpga/tests/fpga-mgr-test.c | |
| parent | video: screen_info: Relocate framebuffers behind PCI bridges (diff) | |
| download | kernel-f670b50ef5e4a69bf4d2ec5ac6a9228d93b13a7a.tar.gz kernel-f670b50ef5e4a69bf4d2ec5ac6a9228d93b13a7a.zip | |
sysfb: Fix screen_info type check for VGA
Use the helper screen_info_video_type() to get the framebuffer
type from struct screen_info. Handle supported values in sorted
switch statement.
Reading orig_video_isVGA is unreliable. On most systems it is a
VIDEO_TYPE_ constant. On some systems with VGA it is simply set
to 1 to signal the presence of a VGA output. See vga_probe() for
an example. Retrieving the screen_info type with the helper
screen_info_video_type() detects these cases and returns the
appropriate VIDEO_TYPE_ constant. For VGA, sysfb creates a device
named "vga-framebuffer".
The sysfb code has been taken from vga16fb, where it likely didn't
work correctly either. With this bugfix applied, vga16fb loads for
compatible vga-framebuffer devices.
Fixes: 0db5b61e0dc0 ("fbdev/vga16fb: Create EGA/VGA devices in sysfb code")
Cc: Thomas Zimmermann <[email protected]>
Cc: Javier Martinez Canillas <[email protected]>
Cc: Alex Deucher <[email protected]>
Cc: Tzung-Bi Shih <[email protected]>
Cc: Helge Deller <[email protected]>
Cc: "Uwe Kleine-König" <[email protected]>
Cc: Zsolt Kajtar <[email protected]>
Cc: <[email protected]> # v6.1+
Signed-off-by: Thomas Zimmermann <[email protected]>
Reviewed-by: Tzung-Bi Shih <[email protected]>
Reviewed-by: Javier Martinez Canillas <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'drivers/fpga/tests/fpga-mgr-test.c')
0 files changed, 0 insertions, 0 deletions
