Date:2012-01-12 20:34:35 (8 years 10 months ago)
Author:Paul Cercueil
Commit:e0c002c3e3c0e641ac9e7ad61600b178e059d646
Message:fbcon: add parameter to toggle bind on startup.

The documentation update was squashed into this commit.
Files: Documentation/fb/fbcon.txt (2 diffs)
drivers/video/console/fbcon.c (4 diffs)

Change Details

Documentation/fb/fbcon.txt
123123    is typically located on the same video card. Thus, the consoles that
124124    are controlled by the VGA console will be garbled.
125125
1264. fbcon=rotate:<n>
1265. fbcon=rotate:<n>
127127
128128        This option changes the orientation angle of the console display. The
129129        value 'n' accepts the following:
...... 
148148    Actually, the underlying fb driver is totally ignorant of console
149149    rotation.
150150
1516. fbcon=bind:<01>
152
153    This option controls whether or not the console should be bound to the
154    terminal when the kernel starts. In any case, the framebuffer console
155    can be bound / unbound at any time through sysfs.
156
157    This parameter can be useful in some cases, for instance when the
158    bootloader or the video driver display a logo that should be shown
159    during the whole boot.
160
151161C. Attaching, Detaching and Unloading
152162
153163Before going on on how to attach, detach and unload the framebuffer console, an
drivers/video/console/fbcon.c
114114static int fbcon_has_exited;
115115static int primary_device = -1;
116116static int fbcon_has_console_bind;
117static unsigned int bind_on_startup = 1;
117118
118119#ifdef CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY
119120static int map_override;
...... 
532533            }
533534            continue;
534535        }
536
537        if (!strncmp(options, "bind:", 5)) {
538            options += 5;
539            ret = kstrtouint(options, 0, &bind_on_startup);
540            if (ret)
541                printk(KERN_WARNING "fbcon: bind: incorrect value.\n");
542            continue;
543        }
535544    }
536545    return 1;
537546}
...... 
574583    for (i = first_fb_vc; i <= last_fb_vc; i++)
575584        con2fb_map[i] = info_idx;
576585
577    err = take_over_console(&fb_con, first_fb_vc, last_fb_vc,
578                fbcon_is_default);
586    if (bind_on_startup)
587        err = take_over_console(&fb_con, first_fb_vc, last_fb_vc,
588                    fbcon_is_default);
589    else
590        err = register_con_driver(&fb_con, first_fb_vc, last_fb_vc);
579591
580592    if (err) {
581593        for (i = first_fb_vc; i <= last_fb_vc; i++) {
...... 
583595        }
584596        info_idx = -1;
585597    } else {
586        fbcon_has_console_bind = 1;
598        fbcon_has_console_bind = bind_on_startup;
587599    }
588600
589601    return err;

Archive Download the corresponding diff file



interactive