2006-02-14 21:05:40

by Luca Falavigna

[permalink] [raw]
Subject: [PATCH] CONSOLE_LP_STRICT Kconfig option

This patch, built against kernel version 2.6.16-rc3, provides a Kconfig
option in order to easily enable or disable CONSOLE_LP_STRICT variable
in drivers/char/lp.c without modifying it directly.



Signed-off-by: Luca Falavigna <[email protected]>

--- 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 to, 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



Regards,

--
Luca


2006-02-15 03:32:54

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] CONSOLE_LP_STRICT Kconfig option

On Tue, 14 Feb 2006 22:05:37 +0100 Luca Falavigna wrote:

> This patch, built against kernel version 2.6.16-rc3, provides a Kconfig
> option in order to easily enable or disable CONSOLE_LP_STRICT variable
> in drivers/char/lp.c without modifying it directly.


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.

Couple of typo corrections below.


> Signed-off-by: Luca Falavigna <[email protected]>
>
> --- 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 to, we get the latter behaviour. */
* too,
> +#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
>
> +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
* add comma: ,
> + 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


---
~Randy

2006-02-15 08:30:59

by Luca Falavigna

[permalink] [raw]
Subject: Re: [PATCH] CONSOLE_LP_STRICT Kconfig option

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


Attachments:
lp_console_strict.patch.txt (2.12 kB)