aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/console/fbcon.c')
-rw-r--r--drivers/video/console/fbcon.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
index b27a91c9880..18d02c6af70 100644
--- a/drivers/video/console/fbcon.c
+++ b/drivers/video/console/fbcon.c
@@ -530,6 +530,33 @@ static int search_for_mapped_con(void)
530 return retval; 530 return retval;
531} 531}
532 532
533static int do_fbcon_takeover(int show_logo)
534{
535 int err, i;
536
537 if (!num_registered_fb)
538 return -ENODEV;
539
540 if (!show_logo)
541 logo_shown = FBCON_LOGO_DONTSHOW;
542
543 for (i = first_fb_vc; i <= last_fb_vc; i++)
544 con2fb_map[i] = info_idx;
545
546 err = do_take_over_console(&fb_con, first_fb_vc, last_fb_vc,
547 fbcon_is_default);
548
549 if (err) {
550 for (i = first_fb_vc; i <= last_fb_vc; i++)
551 con2fb_map[i] = -1;
552 info_idx = -1;
553 } else {
554 fbcon_has_console_bind = 1;
555 }
556
557 return err;
558}
559
533static int fbcon_takeover(int show_logo) 560static int fbcon_takeover(int show_logo)
534{ 561{
535 int err, i; 562 int err, i;
@@ -3122,7 +3149,7 @@ static int fbcon_fb_registered(struct fb_info *info)
3122 } 3149 }
3123 3150
3124 if (info_idx != -1) 3151 if (info_idx != -1)
3125 ret = fbcon_takeover(1); 3152 ret = do_fbcon_takeover(1);
3126 } else { 3153 } else {
3127 for (i = first_fb_vc; i <= last_fb_vc; i++) { 3154 for (i = first_fb_vc; i <= last_fb_vc; i++) {
3128 if (con2fb_map_boot[i] == idx) 3155 if (con2fb_map_boot[i] == idx)