From: Luca Falavigna <dktrkranz@gmail.com>
To: "Randy.Dunlap" <rdunlap@xenotime.net>
Cc: ak@suse.de, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] CONSOLE_LP_STRICT Kconfig option
Date: Fri, 14 Apr 2006 00:45:45 +0200 [thread overview]
Message-ID: <443ED499.6040903@gmail.com> (raw)
In-Reply-To: <20060412120904.e2fce912.rdunlap@xenotime.net>
Randy.Dunlap ha scritto:
> I think that if you make it a module_param() and use (root-) writeable
> permissions on it, it's just a variable that can be changed after the
> driver is loaded and running.
>
> Andi, did you want just a boot-time option or a run-time (changeable) option?
Here is a patch (built against 2.6.17-rc1) which does use of __setup()
call to dynamically adjust console_lp_strict value.
Actually the only way to get console line printer working is to enable
it at system startup so I adjusted Kconfig parameters accordingly.
Feel free to submit any feedback.
Signed-off-by: Luca Falavigna <dktrkranz@gmail.com>
--- ./drivers/char/lp.c.orig 2006-01-08 16:48:14.000000000 +0100
+++ ./drivers/char/lp.c 2006-04-14 00:31:57.000000000 +0200
@@ -686,9 +686,17 @@ 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
+ * stall until the printer is happy again. Setting console_lp_strict
* non-zero to get the latter behaviour. */
-#define CONSOLE_LP_STRICT 1
+static unsigned int console_lp_strict = 1;
+
+static int __init console_lp_strict_setup (char *str)
+{
+ console_lp_strict = simple_strtol(str, NULL, 0);
+ return 1;
+}
+
+__setup("console_lp_strict=", console_lp_strict_setup);
/* The console must be locked when we get here. */
@@ -697,7 +705,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. */
@@ -737,9 +745,9 @@ static void lp_console_write (struct con
written = parport_write (port, crlf, i);
if (written > 0)
i -= written, crlf += written;
- } while (i > 0 && (CONSOLE_LP_STRICT || written > 0));
+ } while (i > 0 && (console_lp_strict || written > 0));
}
- } while (count > 0 && (CONSOLE_LP_STRICT || written > 0));
+ } while (count > 0 && (console_lp_strict || written > 0));
parport_release (dev);
}
--- ./drivers/char/Kconfig.orig 2006-04-13 20:52:52.000000000 +0200
+++ ./drivers/char/Kconfig 2006-04-14 00:27:34.000000000 +0200
@@ -506,7 +506,7 @@ config PRINTER
config LP_CONSOLE
bool "Support for console on line printer"
- depends on PRINTER
+ depends on PRINTER = y
---help---
If you want kernel messages to be printed out as they occur, you
can have a console on the printer. This option adds support for
@@ -515,9 +515,9 @@ config LP_CONSOLE
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.
+ By passing the option "console_lp_strict=0" to the kernel at
+ boot time (at your own risk) you can make the kernel continue
+ when this happens, but it will lose the kernel messages.
If unsure, say N.
Regards,
--
Luca
next prev parent reply other threads:[~2006-04-13 22:45 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-14 14:46 [PATCH] CONSOLE_LP_STRICT Kconfig option Luca Falavigna
2006-02-14 14:59 ` Andi Kleen
2006-02-15 9:03 ` Luca Falavigna
2006-04-11 22:17 ` Randy.Dunlap
[not found] ` <ff1cadb20604121153k6552ea84maf58b44869412f2@mail.gmail.com>
2006-04-12 19:09 ` Randy.Dunlap
2006-04-13 22:45 ` Luca Falavigna [this message]
-- strict thread matches above, loose matches on Subject: below --
2006-02-14 21:05 Luca Falavigna
2006-02-15 3:33 ` Randy.Dunlap
2006-02-15 8:29 ` Luca Falavigna
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=443ED499.6040903@gmail.com \
--to=dktrkranz@gmail.com \
--cc=ak@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=rdunlap@xenotime.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox