linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* lp and LP_CONSOLE
@ 2001-08-09 23:44 Tim Waugh
  0 siblings, 0 replies; only message in thread
From: Tim Waugh @ 2001-08-09 23:44 UTC (permalink / raw)
  To: linux-kernel

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 = {

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2001-08-09 23:46 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-08-09 23:44 lp and LP_CONSOLE Tim Waugh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).