diff options
author | David Howells <dhowells@redhat.com> | 2008-07-22 11:20:45 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-22 13:03:28 -0700 |
commit | 88e882497d154dfb7c341902c079c9daeca1626f (patch) | |
tree | 125cd28f48092073571bb38072dc28c7a70f81d5 /drivers/char/epca.c | |
parent | e129deff3d979df1ad3d0a6756c90932c0a0a102 (diff) | |
download | linux-3.10-88e882497d154dfb7c341902c079c9daeca1626f.tar.gz linux-3.10-88e882497d154dfb7c341902c079c9daeca1626f.tar.bz2 linux-3.10-88e882497d154dfb7c341902c079c9daeca1626f.zip |
Fix the epca driver to permit epca_setup() to be invoked from the kernel cmdline
Fix the epca driver to call epca_setup() if digiepca=xxx is included on the
command line and the epca driver is built in.
epca_setup() used to be called from init/main.c in 2.2 kernels, but somewhere
along the way that call was removed but not replaced.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/epca.c')
-rw-r--r-- | drivers/char/epca.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/char/epca.c b/drivers/char/epca.c index 9d9ae1ca292..456e4ede049 100644 --- a/drivers/char/epca.c +++ b/drivers/char/epca.c @@ -186,7 +186,6 @@ static void pc_throttle(struct tty_struct *tty); static void pc_unthrottle(struct tty_struct *tty); static int pc_send_break(struct tty_struct *tty, int msec); static void setup_empty_event(struct tty_struct *tty, struct channel *ch); -static void epca_setup(char *, int *); static int pc_write(struct tty_struct *, const unsigned char *, int); static int pc_init(void); @@ -2513,7 +2512,8 @@ static void setup_empty_event(struct tty_struct *tty, struct channel *ch) memoff(ch); } -static void epca_setup(char *str, int *ints) +#ifndef MODULE +static void __init epca_setup(char *str, int *ints) { struct board_info board; int index, loop, last; @@ -2767,6 +2767,17 @@ static void epca_setup(char *str, int *ints) num_cards++; } +static int __init epca_real_setup(char *str) +{ + int ints[11]; + + epca_setup(get_options(str, 11, ints), ints); + return 1; +} + +__setup("digiepca", epca_real_setup); +#endif + enum epic_board_types { brd_xr = 0, brd_xem, |