TTY: amiserial, stop using serial_state->{irq,type,line}

* instead of line, use tty->index or iterator...
* irq and type are left unset. So get rid of them.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Jiri Slaby 2012-03-05 14:52:44 +01:00 committed by Greg Kroah-Hartman
parent 7188dc202a
commit ff169e5cbe
2 changed files with 10 additions and 16 deletions

View File

@ -1008,7 +1008,7 @@ static void rs_unthrottle(struct tty_struct * tty)
* ------------------------------------------------------------ * ------------------------------------------------------------
*/ */
static int get_serial_info(struct serial_state *state, static int get_serial_info(struct tty_struct *tty, struct serial_state *state,
struct serial_struct __user * retinfo) struct serial_struct __user * retinfo)
{ {
struct serial_struct tmp; struct serial_struct tmp;
@ -1017,10 +1017,8 @@ static int get_serial_info(struct serial_state *state,
return -EFAULT; return -EFAULT;
memset(&tmp, 0, sizeof(tmp)); memset(&tmp, 0, sizeof(tmp));
tty_lock(); tty_lock();
tmp.type = state->type; tmp.line = tty->index;
tmp.line = state->line;
tmp.port = state->port; tmp.port = state->port;
tmp.irq = state->irq;
tmp.flags = state->tport.flags; tmp.flags = state->tport.flags;
tmp.xmit_fifo_size = state->xmit_fifo_size; tmp.xmit_fifo_size = state->xmit_fifo_size;
tmp.baud_base = state->baud_base; tmp.baud_base = state->baud_base;
@ -1047,7 +1045,7 @@ static int set_serial_info(struct tty_struct *tty, struct serial_state *state,
tty_lock(); tty_lock();
change_spd = ((new_serial.flags ^ port->flags) & ASYNC_SPD_MASK) || change_spd = ((new_serial.flags ^ port->flags) & ASYNC_SPD_MASK) ||
new_serial.custom_divisor != state->custom_divisor; new_serial.custom_divisor != state->custom_divisor;
if (new_serial.irq != state->irq || new_serial.port != state->port || if (new_serial.irq || new_serial.port != state->port ||
new_serial.xmit_fifo_size != state->xmit_fifo_size) { new_serial.xmit_fifo_size != state->xmit_fifo_size) {
tty_unlock(); tty_unlock();
return -EINVAL; return -EINVAL;
@ -1250,7 +1248,7 @@ static int rs_ioctl(struct tty_struct *tty,
switch (cmd) { switch (cmd) {
case TIOCGSERIAL: case TIOCGSERIAL:
return get_serial_info(info, argp); return get_serial_info(tty, info, argp);
case TIOCSSERIAL: case TIOCSSERIAL:
return set_serial_info(tty, info, argp); return set_serial_info(tty, info, argp);
case TIOCSERCONFIG: case TIOCSERCONFIG:
@ -1403,7 +1401,7 @@ static void rs_close(struct tty_struct *tty, struct file * filp)
} }
if (--port->count < 0) { if (--port->count < 0) {
printk("rs_close: bad serial port count for ttys%d: %d\n", printk("rs_close: bad serial port count for ttys%d: %d\n",
state->line, port->count); tty->index, port->count);
port->count = 0; port->count = 0;
} }
if (port->count) { if (port->count) {
@ -1720,12 +1718,13 @@ static int rs_open(struct tty_struct *tty, struct file * filp)
* /proc fs routines.... * /proc fs routines....
*/ */
static inline void line_info(struct seq_file *m, struct serial_state *state) static inline void line_info(struct seq_file *m, int line,
struct serial_state *state)
{ {
char stat_buf[30], control, status; char stat_buf[30], control, status;
unsigned long flags; unsigned long flags;
seq_printf(m, "%d: uart:amiga_builtin",state->line); seq_printf(m, "%d: uart:amiga_builtin", line);
local_irq_save(flags); local_irq_save(flags);
status = ciab.pra; status = ciab.pra;
@ -1771,7 +1770,7 @@ static inline void line_info(struct seq_file *m, struct serial_state *state)
static int rs_proc_show(struct seq_file *m, void *v) static int rs_proc_show(struct seq_file *m, void *v)
{ {
seq_printf(m, "serinfo:1.0 driver:%s\n", serial_version); seq_printf(m, "serinfo:1.0 driver:%s\n", serial_version);
line_info(m, &rs_table[0]); line_info(m, 0, &rs_table[0]);
return 0; return 0;
} }
@ -1867,7 +1866,6 @@ static int __init amiga_serial_probe(struct platform_device *pdev)
state = rs_table; state = rs_table;
state->port = (int)&custom.serdatr; /* Just to give it a value */ state->port = (int)&custom.serdatr; /* Just to give it a value */
state->line = 0;
state->custom_divisor = 0; state->custom_divisor = 0;
state->icount.cts = state->icount.dsr = state->icount.cts = state->icount.dsr =
state->icount.rng = state->icount.dcd = 0; state->icount.rng = state->icount.dcd = 0;
@ -1876,8 +1874,7 @@ static int __init amiga_serial_probe(struct platform_device *pdev)
state->icount.overrun = state->icount.brk = 0; state->icount.overrun = state->icount.brk = 0;
tty_port_init(&state->tport); tty_port_init(&state->tport);
printk(KERN_INFO "ttyS%d is the amiga builtin serial port\n", printk(KERN_INFO "ttyS0 is the amiga builtin serial port\n");
state->line);
/* Hardware set up */ /* Hardware set up */

View File

@ -29,9 +29,6 @@
struct serial_state { struct serial_state {
int baud_base; int baud_base;
unsigned long port; unsigned long port;
int irq;
int type;
int line;
int xmit_fifo_size; int xmit_fifo_size;
int custom_divisor; int custom_divisor;
struct async_icount icount; struct async_icount icount;