aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2008-07-22 06:20:45 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-22 16:03:28 -0400
commit88e882497d154dfb7c341902c079c9daeca1626f (patch)
tree125cd28f48092073571bb38072dc28c7a70f81d5
parente129deff3d979df1ad3d0a6756c90932c0a0a102 (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>
-rw-r--r--drivers/char/epca.c15
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);
186static void pc_unthrottle(struct tty_struct *tty); 186static void pc_unthrottle(struct tty_struct *tty);
187static int pc_send_break(struct tty_struct *tty, int msec); 187static int pc_send_break(struct tty_struct *tty, int msec);
188static void setup_empty_event(struct tty_struct *tty, struct channel *ch); 188static void setup_empty_event(struct tty_struct *tty, struct channel *ch);
189static void epca_setup(char *, int *);
190 189
191static int pc_write(struct tty_struct *, const unsigned char *, int); 190static int pc_write(struct tty_struct *, const unsigned char *, int);
192static int pc_init(void); 191static 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
2516static void epca_setup(char *str, int *ints) 2515#ifndef MODULE
2516static 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
2770static 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
2770enum epic_board_types { 2781enum epic_board_types {
2771 brd_xr = 0, 2782 brd_xr = 0,
2772 brd_xem, 2783 brd_xem,