patch-2.3.13 linux/drivers/char/lp.c

Next file: linux/drivers/char/lp_intern.c
Previous file: linux/drivers/char/logibusmouse.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.12/linux/drivers/char/lp.c linux/drivers/char/lp.c
@@ -711,7 +711,7 @@
 
 static int parport_ptr = 0;
 
-__initfunc(void lp_setup(char *str, int *ints))
+void __init lp_setup(char *str, int *ints)
 {
 	if (!str) {
 		if (ints[0] == 0 || ints[1] == 0) {
@@ -755,6 +755,17 @@
 	printk(KERN_INFO "lp%d: using %s (%s).\n", nr, port->name, 
 	       (port->irq == PARPORT_IRQ_NONE)?"polling":"interrupt-driven");
 
+#ifdef CONFIG_LP_CONSOLE
+	if (!nr) {
+		if (port->modes & PARPORT_MODE_SAFEININT) {
+			register_console (&lpcons);
+			printk (KERN_INFO "lp%d: console ready\n", CONSOLE_LP);
+		} else
+			printk (KERN_ERR "lp%d: cannot run console on %s\n",
+				CONSOLE_LP, port->name);
+	}
+#endif
+
 	return 0;
 }
 
@@ -842,12 +853,6 @@
 			printk (KERN_INFO "lp: (is IEEE 1284.3 support enabled?)\n");
 #endif
 	}
-#ifdef CONFIG_LP_CONSOLE
-	else {
-		register_console (&lpcons);
-		printk (KERN_INFO "lp%d: console ready\n", CONSOLE_LP);
-	}
-#endif
 
 	return 0;
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)