linux/drivers/video/fbdev/core
Hans de Goede 83d83bebf4 console/fbcon: Add support for deferred console takeover
Currently fbcon claims fbdevs as soon as they are registered and takes over
the console as soon as the first fbdev gets registered.

This behavior is undesirable in cases where a smooth graphical bootup is
desired, in such cases we typically want the contents of the framebuffer
(typically a vendor logo) to stay in place as is.

The current solution for this problem (on embedded systems) is to not
enable fbcon.

This commit adds a new FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER config option,
which when enabled defers fbcon taking over the console from the dummy
console until the first text is displayed on the console. Together with the
"quiet" kernel commandline option, this allows fbcon to still be used
together with a smooth graphical bootup, having it take over the console as
soon as e.g. an error message is logged.

Note the choice to detect the first console output in the dummycon driver,
rather then handling this entirely inside the fbcon code, was made after
2 failed attempts to handle this entirely inside the fbcon code. The fbcon
code is woven quite tightly into the console code, making this to only
feasible option.

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
2018-06-28 15:20:30 +02:00
..
Makefile fbcon: Remove dmi quirk table 2017-12-04 23:03:22 +01:00
bitblit.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
cfbcopyarea.c framebuffer: fix screen corruption when copying 2014-09-30 13:39:50 +03:00
cfbfillrect.c
cfbimgblt.c
fb_cmdline.c video/fbdev: Always built-in video= cmdline parsing 2014-08-06 14:50:02 +02:00
fb_ddc.c fb_ddc: Allow I2C adapters without SCL read capability 2015-09-30 10:46:55 +03:00
fb_defio.c video: fbdev: core: Change return type to vm_fault_t 2018-04-24 18:11:21 +02:00
fb_draw.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fb_notify.c
fb_sys_fops.c
fbcmap.c fbdev: color map copying bounds checking 2017-01-24 16:26:14 -08:00
fbcon.c console/fbcon: Add support for deferred console takeover 2018-06-28 15:20:30 +02:00
fbcon.h fbcon: Remove dmi quirk table 2017-12-04 23:03:22 +01:00
fbcon_ccw.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
fbcon_cw.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
fbcon_rotate.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
fbcon_rotate.h fbcon: Make fbcon a built-time depency for fbdev 2017-08-01 17:32:07 +02:00
fbcon_ud.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
fbcvt.c fbdev: fix CVT vertical front and back porch values 2015-01-27 13:35:37 +02:00
fbmem.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
fbmon.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
fbsysfs.c fbcon: Add fbcon_rotate_hint to struct fb_info 2017-12-04 23:03:21 +01:00
modedb.c fbdev: fix cea_modes array size 2015-08-20 10:20:11 +03:00
softcursor.c fbcon: Make fbcon a built-time depency for fbdev 2017-08-01 17:32:07 +02:00
svgalib.c
syscopyarea.c video: fbdev: fix sys_copyarea 2015-01-30 09:46:59 +02:00
sysfillrect.c
sysimgblt.c
tileblit.c fbcon: add fbcon=margin:<color> command line option 2017-08-18 19:56:40 +02:00