]> Pileus Git - ~andy/linux/commitdiff
TTY: amiserial, stop using serial_state->{irq,type,line}
authorJiri Slaby <jslaby@suse.cz>
Mon, 5 Mar 2012 13:52:44 +0000 (14:52 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 8 Mar 2012 20:50:01 +0000 (12:50 -0800)
* 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>
drivers/tty/amiserial.c
include/linux/serialP.h

index a9f5da64eef2fc0f9936968f2c3aba4ba84143dd..b182bccf3eab681b1f0f26e65ef02be62eab3fd4 100644 (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 tmp;
@@ -1017,10 +1017,8 @@ static int get_serial_info(struct serial_state *state,
                return -EFAULT;
        memset(&tmp, 0, sizeof(tmp));
        tty_lock();
-       tmp.type = state->type;
-       tmp.line = state->line;
+       tmp.line = tty->index;
        tmp.port = state->port;
-       tmp.irq = state->irq;
        tmp.flags = state->tport.flags;
        tmp.xmit_fifo_size = state->xmit_fifo_size;
        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();
        change_spd = ((new_serial.flags ^ port->flags) & ASYNC_SPD_MASK) ||
                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) {
                tty_unlock();
                return -EINVAL;
@@ -1250,7 +1248,7 @@ static int rs_ioctl(struct tty_struct *tty,
 
        switch (cmd) {
                case TIOCGSERIAL:
-                       return get_serial_info(info, argp);
+                       return get_serial_info(tty, info, argp);
                case TIOCSSERIAL:
                        return set_serial_info(tty, info, argp);
                case TIOCSERCONFIG:
@@ -1403,7 +1401,7 @@ static void rs_close(struct tty_struct *tty, struct file * filp)
        }
        if (--port->count < 0) {
                printk("rs_close: bad serial port count for ttys%d: %d\n",
-                      state->line, port->count);
+                      tty->index, port->count);
                port->count = 0;
        }
        if (port->count) {
@@ -1720,12 +1718,13 @@ static int rs_open(struct tty_struct *tty, struct file * filp)
  * /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;
        unsigned long flags;
 
-       seq_printf(m, "%d: uart:amiga_builtin",state->line);
+       seq_printf(m, "%d: uart:amiga_builtin", line);
 
        local_irq_save(flags);
        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)
 {
        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;
 }
 
@@ -1867,7 +1866,6 @@ static int __init amiga_serial_probe(struct platform_device *pdev)
 
        state = rs_table;
        state->port = (int)&custom.serdatr; /* Just to give it a value */
-       state->line = 0;
        state->custom_divisor = 0;
        state->icount.cts = state->icount.dsr = 
          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;
        tty_port_init(&state->tport);
 
-       printk(KERN_INFO "ttyS%d is the amiga builtin serial port\n",
-                      state->line);
+       printk(KERN_INFO "ttyS0 is the amiga builtin serial port\n");
 
        /* Hardware set up */
 
index 9a04dec1589aeb81c28a1c4d88bcdcf9136c651f..77afbdb134aeb9e414c9a35e57d98136f6d2c494 100644 (file)
@@ -29,9 +29,6 @@
 struct serial_state {
        int     baud_base;
        unsigned long   port;
-       int     irq;
-       int     type;
-       int     line;
        int     xmit_fifo_size;
        int     custom_divisor;
        struct async_icount     icount;