Re: [PATCH] CONSOLE_LP_STRICT Kconfig option

Luca Falavigna
2006-02-15T08:30:59Z

[-- Attachment #1: Type: text/plain, Size: 2598 bytes --]

Randy.Dunlap ha scritto:
> The patch does not apply cleanly to 2.6.16-rc3 -- because tabs
> have been converted to spaces, either by your email client or
> by using copy-n-paste to create the email.

Here is what happens when you use Outlook ;)

Signed-off-by: Luca Falavigna <dktrkranz@gmail.com>

--- linux-2.6.16-rc3/drivers/char/lp.c.orig 2006-01-08
16:48:14.000000000 +0100
+++ linux-2.6.16-rc3/drivers/char/lp.c 2006-02-14 13:43:41.000000000 +0100
@@ -686,9 +686,13 @@ static struct file_operations lp_fops =
#define CONSOLE_LP 0

/* If the printer is out of paper, we can either lose the messages or
- * stall until the printer is happy again. Define CONSOLE_LP_STRICT
- * non-zero to get the latter behaviour. */
-#define CONSOLE_LP_STRICT 1
+ * stall until the printer is happy again. If CONSOLE_LP_STRICT is
+ * non-zero, we get the latter behaviour. */
+#ifdef CONFIG_LP_CONSOLE_STRICT
+# define CONSOLE_LP_STRICT 1
+#else
+# define CONSOLE_LP_STRICT 0
+#endif

/* The console must be locked when we get here. */

@@ -697,7 +701,7 @@ static void lp_console_write (struct con
{
struct pardevice *dev = lp_table[CONSOLE_LP].dev;
struct parport *port = dev->port;
- ssize_t written;
+ ssize_t written = 0;

if (parport_claim (dev))
/* Nothing we can do. */
--- linux-2.6.16-rc3/drivers/char/Kconfig.orig 2006-02-14
00:14:08.000000000 +0100
+++ linux-2.6.16-rc3/drivers/char/Kconfig 2006-02-14 13:47:33.000000000
+0100
@@ -512,14 +512,21 @@ config LP_CONSOLE
doing that; to actually get it to happen you need to pass the
option "console=lp0" to the kernel at boot time.

- If the printer is out of paper (or off, or unplugged, or too
- busy..), the kernel will stall until the printer is ready again.
- By defining CONSOLE_LP_STRICT to 0 (at your own risk) you
- can make the kernel continue when this happens,
- but it'll lose the kernel messages.
-
If unsure, say N.

+config LP_CONSOLE_STRICT
+ bool "Wait for a ready printer"
+ depends on LP_CONSOLE
+ default y
+ ---help---
+ With this option enabled, if the printer is out of paper (or off,
+ or unplugged, or too busy..) the kernel will stall until the printer
+ is ready again. By turning this option off (at your own risk), you
+ can make the kernel continue when this happens, but it will lose
+ some kernel messages.
+
+ If unsure, say Y
+
config PPDEV
tristate "Support for user-space parallel port device drivers"
depends on PARPORT

I attach a copy of this patch to this email in order to avoid these
problems (at least I hope so)

Regards,

--
Luca

[-- Attachment #2: lp_console_strict.patch.txt --]
[-- Type: text/plain, Size: 2167 bytes --]

--- linux-2.6.16-rc3/drivers/char/lp.c.orig 2006-01-08 16:48:14.000000000 +0100
+++ linux-2.6.16-rc3/drivers/char/lp.c 2006-02-14 13:43:41.000000000 +0100
@@ -686,9 +686,13 @@ static struct file_operations lp_fops =
#define CONSOLE_LP 0

/* If the printer is out of paper, we can either lose the messages or
- * stall until the printer is happy again. Define CONSOLE_LP_STRICT
- * non-zero to get the latter behaviour. */
-#define CONSOLE_LP_STRICT 1
+ * stall until the printer is happy again. If CONSOLE_LP_STRICT is
+ * non-zero, we get the latter behaviour. */
+#ifdef CONFIG_LP_CONSOLE_STRICT
+# define CONSOLE_LP_STRICT 1
+#else
+# define CONSOLE_LP_STRICT 0
+#endif

/* The console must be locked when we get here. */

@@ -697,7 +701,7 @@ static void lp_console_write (struct con
{
struct pardevice *dev = lp_table[CONSOLE_LP].dev;
struct parport *port = dev->port;
- ssize_t written;
+ ssize_t written = 0;

if (parport_claim (dev))
/* Nothing we can do. */
--- linux-2.6.16-rc3/drivers/char/Kconfig.orig 2006-02-14 00:14:08.000000000 +0100
+++ linux-2.6.16-rc3/drivers/char/Kconfig 2006-02-14 13:47:33.000000000 +0100
@@ -512,14 +512,21 @@ config LP_CONSOLE
doing that; to actually get it to happen you need to pass the
option "console=lp0" to the kernel at boot time.

- If the printer is out of paper (or off, or unplugged, or too
- busy..), the kernel will stall until the printer is ready again.
- By defining CONSOLE_LP_STRICT to 0 (at your own risk) you
- can make the kernel continue when this happens,
- but it'll lose the kernel messages.
-
If unsure, say N.

+config LP_CONSOLE_STRICT
+ bool "Wait for a ready printer"
+ depends on LP_CONSOLE
+ default y
+ ---help---
+ With this option enabled, if the printer is out of paper (or off,
+ or unplugged, or too busy..) the kernel will stall until the printer
+ is ready again. By turning this option off (at your own risk), you
+ can make the kernel continue when this happens, but it will lose
+ some kernel messages.
+
+ If unsure, say Y
+
config PPDEV
tristate "Support for user-space parallel port device drivers"
depends on PARPORT