diff options
Diffstat (limited to 'drivers/char/vme_scc.c')
-rw-r--r-- | drivers/char/vme_scc.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/drivers/char/vme_scc.c b/drivers/char/vme_scc.c index bfe5ea948f6a..e01317cb1a0e 100644 --- a/drivers/char/vme_scc.c +++ b/drivers/char/vme_scc.c | |||
@@ -81,10 +81,10 @@ static int scc_ioctl(struct tty_struct * tty, struct file * filp, | |||
81 | unsigned int cmd, unsigned long arg); | 81 | unsigned int cmd, unsigned long arg); |
82 | static void scc_throttle(struct tty_struct *tty); | 82 | static void scc_throttle(struct tty_struct *tty); |
83 | static void scc_unthrottle(struct tty_struct *tty); | 83 | static void scc_unthrottle(struct tty_struct *tty); |
84 | static irqreturn_t scc_tx_int(int irq, void *data, struct pt_regs *fp); | 84 | static irqreturn_t scc_tx_int(int irq, void *data); |
85 | static irqreturn_t scc_rx_int(int irq, void *data, struct pt_regs *fp); | 85 | static irqreturn_t scc_rx_int(int irq, void *data); |
86 | static irqreturn_t scc_stat_int(int irq, void *data, struct pt_regs *fp); | 86 | static irqreturn_t scc_stat_int(int irq, void *data); |
87 | static irqreturn_t scc_spcond_int(int irq, void *data, struct pt_regs *fp); | 87 | static irqreturn_t scc_spcond_int(int irq, void *data); |
88 | static void scc_setsignals(struct scc_port *port, int dtr, int rts); | 88 | static void scc_setsignals(struct scc_port *port, int dtr, int rts); |
89 | static void scc_break_ctl(struct tty_struct *tty, int break_state); | 89 | static void scc_break_ctl(struct tty_struct *tty, int break_state); |
90 | 90 | ||
@@ -113,7 +113,7 @@ static struct real_driver scc_real_driver = { | |||
113 | }; | 113 | }; |
114 | 114 | ||
115 | 115 | ||
116 | static struct tty_operations scc_ops = { | 116 | static const struct tty_operations scc_ops = { |
117 | .open = scc_open, | 117 | .open = scc_open, |
118 | .close = gs_close, | 118 | .close = gs_close, |
119 | .write = gs_write, | 119 | .write = gs_write, |
@@ -153,6 +153,8 @@ static int scc_init_drivers(void) | |||
153 | scc_driver->init_termios = tty_std_termios; | 153 | scc_driver->init_termios = tty_std_termios; |
154 | scc_driver->init_termios.c_cflag = | 154 | scc_driver->init_termios.c_cflag = |
155 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; | 155 | B9600 | CS8 | CREAD | HUPCL | CLOCAL; |
156 | scc_driver->init_termios.c_ispeed = 9600; | ||
157 | scc_driver->init_termios.c_ospeed = 9600; | ||
156 | scc_driver->flags = TTY_DRIVER_REAL_RAW; | 158 | scc_driver->flags = TTY_DRIVER_REAL_RAW; |
157 | tty_set_operations(scc_driver, &scc_ops); | 159 | tty_set_operations(scc_driver, &scc_ops); |
158 | 160 | ||
@@ -419,7 +421,7 @@ module_init(vme_scc_init); | |||
419 | * Interrupt handlers | 421 | * Interrupt handlers |
420 | *--------------------------------------------------------------------------*/ | 422 | *--------------------------------------------------------------------------*/ |
421 | 423 | ||
422 | static irqreturn_t scc_rx_int(int irq, void *data, struct pt_regs *fp) | 424 | static irqreturn_t scc_rx_int(int irq, void *data) |
423 | { | 425 | { |
424 | unsigned char ch; | 426 | unsigned char ch; |
425 | struct scc_port *port = data; | 427 | struct scc_port *port = data; |
@@ -440,7 +442,7 @@ static irqreturn_t scc_rx_int(int irq, void *data, struct pt_regs *fp) | |||
440 | */ | 442 | */ |
441 | if (SCCread(INT_PENDING_REG) & | 443 | if (SCCread(INT_PENDING_REG) & |
442 | (port->channel == CHANNEL_A ? IPR_A_RX : IPR_B_RX)) { | 444 | (port->channel == CHANNEL_A ? IPR_A_RX : IPR_B_RX)) { |
443 | scc_spcond_int (irq, data, fp); | 445 | scc_spcond_int (irq, data); |
444 | return IRQ_HANDLED; | 446 | return IRQ_HANDLED; |
445 | } | 447 | } |
446 | 448 | ||
@@ -451,7 +453,7 @@ static irqreturn_t scc_rx_int(int irq, void *data, struct pt_regs *fp) | |||
451 | } | 453 | } |
452 | 454 | ||
453 | 455 | ||
454 | static irqreturn_t scc_spcond_int(int irq, void *data, struct pt_regs *fp) | 456 | static irqreturn_t scc_spcond_int(int irq, void *data) |
455 | { | 457 | { |
456 | struct scc_port *port = data; | 458 | struct scc_port *port = data; |
457 | struct tty_struct *tty = port->gs.tty; | 459 | struct tty_struct *tty = port->gs.tty; |
@@ -496,7 +498,7 @@ static irqreturn_t scc_spcond_int(int irq, void *data, struct pt_regs *fp) | |||
496 | } | 498 | } |
497 | 499 | ||
498 | 500 | ||
499 | static irqreturn_t scc_tx_int(int irq, void *data, struct pt_regs *fp) | 501 | static irqreturn_t scc_tx_int(int irq, void *data) |
500 | { | 502 | { |
501 | struct scc_port *port = data; | 503 | struct scc_port *port = data; |
502 | SCC_ACCESS_INIT(port); | 504 | SCC_ACCESS_INIT(port); |
@@ -538,7 +540,7 @@ static irqreturn_t scc_tx_int(int irq, void *data, struct pt_regs *fp) | |||
538 | } | 540 | } |
539 | 541 | ||
540 | 542 | ||
541 | static irqreturn_t scc_stat_int(int irq, void *data, struct pt_regs *fp) | 543 | static irqreturn_t scc_stat_int(int irq, void *data) |
542 | { | 544 | { |
543 | struct scc_port *port = data; | 545 | struct scc_port *port = data; |
544 | unsigned channel = port->channel; | 546 | unsigned channel = port->channel; |
@@ -593,7 +595,7 @@ static void scc_enable_tx_interrupts(void *ptr) | |||
593 | local_irq_save(flags); | 595 | local_irq_save(flags); |
594 | SCCmod(INT_AND_DMA_REG, 0xff, IDR_TX_INT_ENAB); | 596 | SCCmod(INT_AND_DMA_REG, 0xff, IDR_TX_INT_ENAB); |
595 | /* restart the transmitter */ | 597 | /* restart the transmitter */ |
596 | scc_tx_int (0, port, 0); | 598 | scc_tx_int (0, port); |
597 | local_irq_restore(flags); | 599 | local_irq_restore(flags); |
598 | } | 600 | } |
599 | 601 | ||