aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorAntonino A. Daplas <adaplas@gmail.com>2007-07-17 07:05:28 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-17 13:23:11 -0400
commit623e71b035cb5271028500720b3622ba76db42bb (patch)
tree651cd606c57b1e1322f92e0406d744a2b341da7e /drivers/char
parent317b3c2167f5326a7de30a1abe50c9897da7a0e3 (diff)
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)
2869 2869
2870static struct class *vtconsole_class; 2870static struct class *vtconsole_class;
2871 2871
2872static int bind_con_driver(const struct consw *csw, int first, int last, 2872int bind_con_driver(const struct consw *csw, int first, int last, int deflt)
2873 int deflt)
2874{ 2873{
2875 struct module *owner = csw->owner; 2874 struct module *owner = csw->owner;
2876 const char *desc = NULL; 2875 const char *desc = NULL;
@@ -2969,6 +2968,7 @@ err:
2969 module_put(owner); 2968 module_put(owner);
2970 return retval; 2969 return retval;
2971}; 2970};
2971EXPORT_SYMBOL(bind_con_driver);
2972 2972
2973#ifdef CONFIG_VT_HW_CONSOLE_BINDING 2973#ifdef CONFIG_VT_HW_CONSOLE_BINDING
2974static int con_is_graphics(const struct consw *csw, int first, int last) 2974static 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)
2987 return retval; 2987 return retval;
2988} 2988}
2989 2989
2990static int unbind_con_driver(const struct consw *csw, int first, int last, 2990int unbind_con_driver(const struct consw *csw, int first, int last, int deflt)
2991 int deflt)
2992{ 2991{
2993 struct module *owner = csw->owner; 2992 struct module *owner = csw->owner;
2994 const struct consw *defcsw = NULL; 2993 const struct consw *defcsw = NULL;
@@ -3073,6 +3072,7 @@ err:
3073 return retval; 3072 return retval;
3074 3073
3075} 3074}
3075EXPORT_SYMBOL(unbind_con_driver);
3076 3076
3077static int vt_bind(struct con_driver *con) 3077static int vt_bind(struct con_driver *con)
3078{ 3078{