diff options
author | Antonino A. Daplas <adaplas@gmail.com> | 2007-07-17 13:05:28 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-17 19:23:11 +0200 |
commit | 623e71b035cb5271028500720b3622ba76db42bb (patch) | |
tree | 651cd606c57b1e1322f92e0406d744a2b341da7e /drivers/char | |
parent | fbdev: detect primary display device (diff) | |
download | linux-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.c | 8 |
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) { |