lp and LP_CONSOLE

From: Tim Waugh (twaugh@redhat.com)
Date: Thu Aug 09 2001 - 18:44:52 EST


Here is a patch to prevent lp from being pinned in memory when
CONFIG_LP_CONSOLE is enabled.

Tim.
*/

2001-08-09 Tim Waugh <twaugh@redhat.com>

        * drivers/char/lp.c: Don't pin module down in memory if console
        code is enabled; use unregister_console instead.

--- linux/drivers/char/lp.c.con Fri Aug 10 00:23:17 2001
+++ linux/drivers/char/lp.c Fri Aug 10 00:43:56 2001
@@ -147,6 +147,10 @@
 
 static unsigned int lp_count = 0;
 
+#ifdef CONFIG_LP_CONSOLE
+static struct parport *console_registered; // initially NULL
+#endif /* CONFIG_LP_CONSOLE */
+
 #undef LP_DEBUG
 
 /* --- low-level port access ----------------------------------- */
@@ -674,8 +678,8 @@
 #ifdef CONFIG_LP_CONSOLE
         if (!nr) {
                 if (port->modes & PARPORT_MODE_SAFEININT) {
- MOD_INC_USE_COUNT;
                         register_console (&lpcons);
+ console_registered = port;
                         printk (KERN_INFO "lp%d: console ready\n", CONSOLE_LP);
                 } else
                         printk (KERN_ERR "lp%d: cannot run console on %s\n",
@@ -720,6 +724,12 @@
 static void lp_detach (struct parport *port)
 {
         /* Write this some day. */
+#ifdef CONFIG_LP_CONSOLE
+ if (console_registered == port) {
+ unregister_console (&lpcons);
+ console_registered = NULL;
+ }
+#endif /* CONFIG_LP_CONSOLE */
 }
 
 static struct parport_driver lp_driver = {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Aug 15 2001 - 21:00:31 EST