aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/vt.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/vt.c')
-rw-r--r--drivers/char/vt.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/drivers/char/vt.c b/drivers/char/vt.c
index 8a389b3..45b33cf 100644
--- a/drivers/char/vt.c
+++ b/drivers/char/vt.c
@@ -2869,7 +2869,8 @@ int __init vty_init(void)
static struct class *vtconsole_class;
-int bind_con_driver(const struct consw *csw, int first, int last, int deflt)
+static int bind_con_driver(const struct consw *csw, int first, int last,
+ int deflt)
{
struct module *owner = csw->owner;
const char *desc = NULL;
@@ -2968,7 +2969,6 @@ 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,6 +2987,23 @@ static int con_is_graphics(const struct consw *csw, int first, int last)
return retval;
}
+/**
+ * unbind_con_driver - unbind a console driver
+ * @csw: pointer to console driver to unregister
+ * @first: first in range of consoles that @csw should be unbound from
+ * @last: last in range of consoles that @csw should be unbound from
+ * @deflt: should next bound console driver be default after @csw is unbound?
+ *
+ * To unbind a driver from all possible consoles, pass 0 as @first and
+ * %MAX_NR_CONSOLES as @last.
+ *
+ * @deflt controls whether the console that ends up replacing @csw should be
+ * the default console.
+ *
+ * RETURNS:
+ * -ENODEV if @csw isn't a registered console driver or can't be unregistered
+ * or 0 on success.
+ */
int unbind_con_driver(const struct consw *csw, int first, int last, int deflt)
{
struct module *owner = csw->owner;