summaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorAntonino A. Daplas <adaplas@gmail.com>2007-07-17 13:05:28 +0200
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-17 19:23:11 +0200
commit623e71b035cb5271028500720b3622ba76db42bb (patch)
tree651cd606c57b1e1322f92e0406d744a2b341da7e /drivers/char
parentfbdev: detect primary display device (diff)
downloadlinux-623e71b035cb5271028500720b3622ba76db42bb.tar.xz
linux-623e71b035cb5271028500720b3622ba76db42bb.zip
fbcon: allow fbcon to use the primary display driver
Allow fbcon to select the primary display adapter using the fb_is_primary_device() arch-specific helper. If a a primary adapter is detected, fbcon will unbind the old adapter from the VT layer, then rebind using the new adapter. This requires that bind_/unbind_con_driver() be made public. Because this feature may produce unexpected behavior (from the user's POV), this must be explicitly enabled in Kconfig. [akpm@linux-foundation.org: export unbind_con_driver] Signed-off-by: Antonino Daplas <adaplas@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/vt.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/char/vt.c b/drivers/char/vt.c
index 349673d432f1..8a389b314624 100644
--- a/drivers/char/vt.c
+++ b/drivers/char/vt.c
@@ -2869,8 +2869,7 @@ int __init vty_init(void)
static struct class *vtconsole_class;
-static int bind_con_driver(const struct consw *csw, int first, int last,
- int deflt)
+int bind_con_driver(const struct consw *csw, int first, int last, int deflt)
{
struct module *owner = csw->owner;
const char *desc = NULL;
@@ -2969,6 +2968,7 @@ err:
module_put(owner);
return retval;
};
+EXPORT_SYMBOL(bind_con_driver);
#ifdef CONFIG_VT_HW_CONSOLE_BINDING
static int con_is_graphics(const struct consw *csw, int first, int last)
@@ -2987,8 +2987,7 @@ static int con_is_graphics(const struct consw *csw, int first, int last)
return retval;
}
-static int unbind_con_driver(const struct consw *csw, int first, int last,
- int deflt)
+int unbind_con_driver(const struct consw *csw, int first, int last, int deflt)
{
struct module *owner = csw->owner;
const struct consw *defcsw = NULL;
@@ -3073,6 +3072,7 @@ err:
return retval;
}
+EXPORT_SYMBOL(unbind_con_driver);
static int vt_bind(struct con_driver *con)
{