summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2018-08-10 17:23:01 +0200
committerBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>2018-08-10 17:23:01 +0200
commitbedb38fc917527e7a6a7e5a0ecedd44690fab167 (patch)
tree7adf14535e5513ca3386277098a37f743f9688fe /lib
parent15f4c357f909d5fbde43b36e137756d5c654a59d (diff)
downloadlinux-bedb38fc917527e7a6a7e5a0ecedd44690fab167.tar.bz2
fbcon: Only defer console takeover if the current console driver is the dummycon
We rely on dummycon's output notifier mechanism to defer the takeover. If say vgacon is the current console driver then dummycon will never get used so its output notifier will also never get called and fbcon never takes over. This commit fixes this by only deferring the console takeover if the current console driver is the dummycon driver. This commit also moves the entirety of fbcon_start under the console_lock, since the conswitchp which fbcon_start now checks is protected by it. This commit also inlines fbcon_register_output_notifier, since we now need a #ifdef CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER in fbcon_start anyways because of the write access to the deferred_takeover variable, this has the added advantage that it puts the dummycon_register_output_notifier() call directly after the "conswitchp != &dummy_con" comparison making it clear why that check is there. Note the arch setup code will set conswitchp to either dummy_con or vga_con, in the cases where it gets set to vga_con even though their is no vga_con present we rely on vga_con_startup() to set conswitchp to dummy_con. vga_con_startup() is guaranteed to happen before fb_console_init() as it gets called as a console_initcall where as fb_console_init() gets called as a subsys_initcall. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions