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:
parent
7188dc202a
commit
ff169e5cbe
|
@ -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 */
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue