diff options
author | David Howells <dhowells@redhat.com> | 2008-07-22 06:20:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-22 16:03:28 -0400 |
commit | 88e882497d154dfb7c341902c079c9daeca1626f (patch) | |
tree | 125cd28f48092073571bb38072dc28c7a70f81d5 /drivers/char/epca.c | |
parent | e129deff3d979df1ad3d0a6756c90932c0a0a102 (diff) |
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 9d9ae1ca2925..456e4ede049f 100644 --- a/drivers/char/epca.c +++ b/drivers/char/epca.c | |||
@@ -186,7 +186,6 @@ static void pc_throttle(struct tty_struct *tty); | |||
186 | static void pc_unthrottle(struct tty_struct *tty); | 186 | static void pc_unthrottle(struct tty_struct *tty); |
187 | static int pc_send_break(struct tty_struct *tty, int msec); | 187 | static int pc_send_break(struct tty_struct *tty, int msec); |
188 | static void setup_empty_event(struct tty_struct *tty, struct channel *ch); | 188 | static void setup_empty_event(struct tty_struct *tty, struct channel *ch); |
189 | static void epca_setup(char *, int *); | ||
190 | 189 | ||
191 | static int pc_write(struct tty_struct *, const unsigned char *, int); | 190 | static int pc_write(struct tty_struct *, const unsigned char *, int); |
192 | static int pc_init(void); | 191 | static int pc_init(void); |
@@ -2513,7 +2512,8 @@ static void setup_empty_event(struct tty_struct *tty, struct channel *ch) | |||
2513 | memoff(ch); | 2512 | memoff(ch); |
2514 | } | 2513 | } |
2515 | 2514 | ||
2516 | static void epca_setup(char *str, int *ints) | 2515 | #ifndef MODULE |
2516 | static void __init epca_setup(char *str, int *ints) | ||
2517 | { | 2517 | { |
2518 | struct board_info board; | 2518 | struct board_info board; |
2519 | int index, loop, last; | 2519 | int index, loop, last; |
@@ -2767,6 +2767,17 @@ static void epca_setup(char *str, int *ints) | |||
2767 | num_cards++; | 2767 | num_cards++; |
2768 | } | 2768 | } |
2769 | 2769 | ||
2770 | static int __init epca_real_setup(char *str) | ||
2771 | { | ||
2772 | int ints[11]; | ||
2773 | |||
2774 | epca_setup(get_options(str, 11, ints), ints); | ||
2775 | return 1; | ||
2776 | } | ||
2777 | |||
2778 | __setup("digiepca", epca_real_setup); | ||
2779 | #endif | ||
2780 | |||
2770 | enum epic_board_types { | 2781 | enum epic_board_types { |
2771 | brd_xr = 0, | 2782 | brd_xr = 0, |
2772 | brd_xem, | 2783 | brd_xem, |