Commit d28c6518 authored by Linus Torvalds's avatar Linus Torvalds

Merge bk://bk.arm.linux.org.uk:14691

into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
parents f00ea1e1 b35451b5
......@@ -120,7 +120,7 @@ hardware.
TTY stop to the driver (equiv to rs_stop).
Locking: port->lock taken.
Interrupts: caller dependent.
Interrupts: locally disabled.
This call must not sleep
start_tx(port,tty_start)
......
This diff is collapsed.
This diff is collapsed.
......@@ -344,33 +344,33 @@ static int serial21285_verify_port(struct uart_port *port, struct serial_struct
}
static struct uart_ops serial21285_ops = {
tx_empty: serial21285_tx_empty,
get_mctrl: serial21285_get_mctrl,
set_mctrl: serial21285_set_mctrl,
stop_tx: serial21285_stop_tx,
start_tx: serial21285_start_tx,
stop_rx: serial21285_stop_rx,
enable_ms: serial21285_enable_ms,
break_ctl: serial21285_break_ctl,
startup: serial21285_startup,
shutdown: serial21285_shutdown,
change_speed: serial21285_change_speed,
type: serial21285_type,
release_port: serial21285_release_port,
request_port: serial21285_request_port,
config_port: serial21285_config_port,
verify_port: serial21285_verify_port,
.tx_empty = serial21285_tx_empty,
.get_mctrl = serial21285_get_mctrl,
.set_mctrl = serial21285_set_mctrl,
.stop_tx = serial21285_stop_tx,
.start_tx = serial21285_start_tx,
.stop_rx = serial21285_stop_rx,
.enable_ms = serial21285_enable_ms,
.break_ctl = serial21285_break_ctl,
.startup = serial21285_startup,
.shutdown = serial21285_shutdown,
.change_speed = serial21285_change_speed,
.type = serial21285_type,
.release_port = serial21285_release_port,
.request_port = serial21285_request_port,
.config_port = serial21285_config_port,
.verify_port = serial21285_verify_port,
};
static struct uart_port serial21285_port = {
membase: 0,
mapbase: 0x42000160,
iotype: SERIAL_IO_MEM,
irq: NO_IRQ,
uartclk: 0,
fifosize: 16,
ops: &serial21285_ops,
flags: ASYNC_BOOT_AUTOCONF,
.membase = 0,
.mapbase = 0x42000160,
.iotype = SERIAL_IO_MEM,
.irq = NO_IRQ,
.uartclk = 0,
.fifosize = 16,
.ops = &serial21285_ops,
.flags = ASYNC_BOOT_AUTOCONF,
};
static void serial21285_setup_ports(void)
......@@ -466,23 +466,23 @@ static int __init serial21285_console_setup(struct console *co, char *options)
#ifdef CONFIG_SERIAL_21285_OLD
static struct console serial21285_old_cons =
{
name: SERIAL_21285_OLD_NAME,
write: serial21285_console_write,
device: serial21285_console_device,
setup: serial21285_console_setup,
flags: CON_PRINTBUFFER,
index: -1,
.name = SERIAL_21285_OLD_NAME,
.write = serial21285_console_write,
.device = serial21285_console_device,
.setup = serial21285_console_setup,
.flags = CON_PRINTBUFFER,
.index = -1,
};
#endif
static struct console serial21285_console =
{
name: SERIAL_21285_NAME,
write: serial21285_console_write,
device: serial21285_console_device,
setup: serial21285_console_setup,
flags: CON_PRINTBUFFER,
index: -1,
.name = SERIAL_21285_NAME,
.write = serial21285_console_write,
.device = serial21285_console_device,
.setup = serial21285_console_setup,
.flags = CON_PRINTBUFFER,
.index = -1,
};
void __init rs285_console_init(void)
......@@ -497,17 +497,17 @@ void __init rs285_console_init(void)
#endif
static struct uart_driver serial21285_reg = {
owner: THIS_MODULE,
driver_name: "ttyFB",
.owner = THIS_MODULE,
.driver_name = "ttyFB",
#ifdef CONFIG_DEVFS_FS
dev_name: "ttyFB%d",
.dev_name = "ttyFB%d",
#else
dev_name: "ttyFB",
.dev_name = "ttyFB",
#endif
major: SERIAL_21285_MAJOR,
minor: SERIAL_21285_MINOR,
nr: 1,
cons: SERIAL_21285_CONSOLE,
.major = SERIAL_21285_MAJOR,
.minor = SERIAL_21285_MINOR,
.nr = 1,
.cons = SERIAL_21285_CONSOLE,
};
static int __init serial21285_init(void)
......
......@@ -1336,7 +1336,7 @@ serial8250_change_speed(struct uart_port *port, unsigned int cflag,
fcr |= UART_FCR7_64BYTE;
up->port.read_status_mask = UART_LSR_OE | UART_LSR_THRE | UART_LSR_DR;
if (iflag & IGNPAR)
if (iflag & INPCK)
up->port.read_status_mask |= UART_LSR_FE | UART_LSR_PE;
if (iflag & (BRKINT | PARMRK))
up->port.read_status_mask |= UART_LSR_BI;
......@@ -1672,23 +1672,23 @@ serial8250_type(struct uart_port *port)
}
static struct uart_ops serial8250_pops = {
tx_empty: serial8250_tx_empty,
set_mctrl: serial8250_set_mctrl,
get_mctrl: serial8250_get_mctrl,
stop_tx: serial8250_stop_tx,
start_tx: serial8250_start_tx,
stop_rx: serial8250_stop_rx,
enable_ms: serial8250_enable_ms,
break_ctl: serial8250_break_ctl,
startup: serial8250_startup,
shutdown: serial8250_shutdown,
change_speed: serial8250_change_speed,
pm: serial8250_pm,
type: serial8250_type,
release_port: serial8250_release_port,
request_port: serial8250_request_port,
config_port: serial8250_config_port,
verify_port: serial8250_verify_port,
.tx_empty = serial8250_tx_empty,
.set_mctrl = serial8250_set_mctrl,
.get_mctrl = serial8250_get_mctrl,
.stop_tx = serial8250_stop_tx,
.start_tx = serial8250_start_tx,
.stop_rx = serial8250_stop_rx,
.enable_ms = serial8250_enable_ms,
.break_ctl = serial8250_break_ctl,
.startup = serial8250_startup,
.shutdown = serial8250_shutdown,
.change_speed = serial8250_change_speed,
.pm = serial8250_pm,
.type = serial8250_type,
.release_port = serial8250_release_port,
.request_port = serial8250_request_port,
.config_port = serial8250_config_port,
.verify_port = serial8250_verify_port,
};
static struct uart_8250_port serial8250_ports[UART_NR];
......@@ -1836,12 +1836,12 @@ static int __init serial8250_console_setup(struct console *co, char *options)
}
static struct console serial8250_console = {
name: "ttyS",
write: serial8250_console_write,
device: serial8250_console_device,
setup: serial8250_console_setup,
flags: CON_PRINTBUFFER,
index: -1,
.name = "ttyS",
.write = serial8250_console_write,
.device = serial8250_console_device,
.setup = serial8250_console_setup,
.flags = CON_PRINTBUFFER,
.index = -1,
};
void __init serial8250_console_init(void)
......@@ -1856,17 +1856,17 @@ void __init serial8250_console_init(void)
#endif
static struct uart_driver serial8250_reg = {
owner: THIS_MODULE,
driver_name: "serial",
.owner = THIS_MODULE,
.driver_name = "serial",
#ifdef CONFIG_DEVFS_FS
dev_name: "tts/%d",
.dev_name = "tts/%d",
#else
dev_name: "ttyS",
.dev_name = "ttyS",
#endif
major: TTY_MAJOR,
minor: 64,
nr: UART_NR,
cons: SERIAL8250_CONSOLE,
.major = TTY_MAJOR,
.minor = 64,
.nr = UART_NR,
.cons = SERIAL8250_CONSOLE,
};
/*
......
......@@ -1112,10 +1112,10 @@ static struct pci_device_id serial_pci_tbl[] __devinitdata = {
#endif
static struct pci_driver serial_pci_driver = {
name: "serial",
probe: pci_init_one,
remove: __devexit_p(pci_remove_one),
id_table: serial_pci_tbl,
.name = "serial",
.probe = pci_init_one,
.remove = __devexit_p(pci_remove_one),
.id_table = serial_pci_tbl,
};
static int __init serial8250_pci_init(void)
......
......@@ -557,54 +557,54 @@ static int ambauart_verify_port(struct uart_port *port, struct serial_struct *se
}
static struct uart_ops amba_pops = {
tx_empty: ambauart_tx_empty,
set_mctrl: ambauart_set_mctrl,
get_mctrl: ambauart_get_mctrl,
stop_tx: ambauart_stop_tx,
start_tx: ambauart_start_tx,
stop_rx: ambauart_stop_rx,
enable_ms: ambauart_enable_ms,
break_ctl: ambauart_break_ctl,
startup: ambauart_startup,
shutdown: ambauart_shutdown,
change_speed: ambauart_change_speed,
type: ambauart_type,
release_port: ambauart_release_port,
request_port: ambauart_request_port,
config_port: ambauart_config_port,
verify_port: ambauart_verify_port,
.tx_empty = ambauart_tx_empty,
.set_mctrl = ambauart_set_mctrl,
.get_mctrl = ambauart_get_mctrl,
.stop_tx = ambauart_stop_tx,
.start_tx = ambauart_start_tx,
.stop_rx = ambauart_stop_rx,
.enable_ms = ambauart_enable_ms,
.break_ctl = ambauart_break_ctl,
.startup = ambauart_startup,
.shutdown = ambauart_shutdown,
.change_speed = ambauart_change_speed,
.type = ambauart_type,
.release_port = ambauart_release_port,
.request_port = ambauart_request_port,
.config_port = ambauart_config_port,
.verify_port = ambauart_verify_port,
};
static struct uart_amba_port amba_ports[UART_NR] = {
{
port: {
membase: (void *)IO_ADDRESS(INTEGRATOR_UART0_BASE),
mapbase: INTEGRATOR_UART0_BASE,
iotype: SERIAL_IO_MEM,
irq: IRQ_UARTINT0,
uartclk: 14745600,
fifosize: 16,
ops: &amba_pops,
flags: ASYNC_BOOT_AUTOCONF,
line: 0,
.port = {
.membase = (void *)IO_ADDRESS(INTEGRATOR_UART0_BASE),
.mapbase = INTEGRATOR_UART0_BASE,
.iotype = SERIAL_IO_MEM,
.irq = IRQ_UARTINT0,
.uartclk = 14745600,
.fifosize = 16,
.ops = &amba_pops,
.flags = ASYNC_BOOT_AUTOCONF,
.line = 0,
},
dtr_mask: 1 << 5,
rts_mask: 1 << 4,
.dtr_mask = 1 << 5,
.rts_mask = 1 << 4,
},
{
port: {
membase: (void *)IO_ADDRESS(INTEGRATOR_UART1_BASE),
mapbase: INTEGRATOR_UART1_BASE,
iotype: SERIAL_IO_MEM,
irq: IRQ_UARTINT1,
uartclk: 14745600,
fifosize: 16,
ops: &amba_pops,
flags: ASYNC_BOOT_AUTOCONF,
line: 1,
.port = {
.membase = (void *)IO_ADDRESS(INTEGRATOR_UART1_BASE),
.mapbase = INTEGRATOR_UART1_BASE,
.iotype = SERIAL_IO_MEM,
.irq = IRQ_UARTINT1,
.uartclk = 14745600,
.fifosize = 16,
.ops = &amba_pops,
.flags = ASYNC_BOOT_AUTOCONF,
.line = 1,
},
dtr_mask: 1 << 7,
rts_mask: 1 << 6,
.dtr_mask = 1 << 7,
.rts_mask = 1 << 6,
}
};
......@@ -706,12 +706,12 @@ static int __init ambauart_console_setup(struct console *co, char *options)
}
static struct console amba_console = {
name: "ttyAM",
write: ambauart_console_write,
device: ambauart_console_device,
setup: ambauart_console_setup,
flags: CON_PRINTBUFFER,
index: -1,
.name = "ttyAM",
.write = ambauart_console_write,
.device = ambauart_console_device,
.setup = ambauart_console_setup,
.flags = CON_PRINTBUFFER,
.index = -1,
};
void __init ambauart_console_init(void)
......@@ -725,17 +725,17 @@ void __init ambauart_console_init(void)
#endif
static struct uart_driver amba_reg = {
owner: THIS_MODULE,
driver_name: "ttyAM",
.owner = THIS_MODULE,
.driver_name = "ttyAM",
#ifdef CONFIG_DEVFS_FS
dev_name: "ttyAM%d",
.dev_name = "ttyAM%d",
#else
dev_name: "ttyAM",
.dev_name = "ttyAM",
#endif
major: SERIAL_AMBA_MAJOR,
minor: SERIAL_AMBA_MINOR,
nr: UART_NR,
cons: AMBA_CONSOLE,
.major = SERIAL_AMBA_MAJOR,
.minor = SERIAL_AMBA_MINOR,
.nr = UART_NR,
.cons = AMBA_CONSOLE,
};
static int __init ambauart_init(void)
......
......@@ -322,65 +322,65 @@ static const char *anakin_type(struct port *port)
}
static struct uart_ops anakin_pops = {
tx_empty: anakin_tx_empty,
set_mctrl: anakin_set_mctrl,
get_mctrl: anakin_get_mctrl,
stop_tx: anakin_stop_tx,
start_tx: anakin_start_tx,
stop_rx: anakin_stop_rx,
enable_ms: anakin_enable_ms,
break_ctl: anakin_break_ctl,
startup: anakin_startup,
shutdown: anakin_shutdown,
change_speed: anakin_change_speed,
type: anakin_type,
.tx_empty = anakin_tx_empty,
.set_mctrl = anakin_set_mctrl,
.get_mctrl = anakin_get_mctrl,
.stop_tx = anakin_stop_tx,
.start_tx = anakin_start_tx,
.stop_rx = anakin_stop_rx,
.enable_ms = anakin_enable_ms,
.break_ctl = anakin_break_ctl,
.startup = anakin_startup,
.shutdown = anakin_shutdown,
.change_speed = anakin_change_speed,
.type = anakin_type,
};
static struct uart_port anakin_ports[UART_NR] = {
{
base: IO_BASE + UART0,
irq: IRQ_UART0,
uartclk: 3686400,
fifosize: 0,
ops: &anakin_pops,
flags: ASYNC_BOOT_AUTOCONF,
line: 0,
.base = IO_BASE + UART0,
.irq = IRQ_UART0,
.uartclk = 3686400,
.fifosize = 0,
.ops = &anakin_pops,
.flags = ASYNC_BOOT_AUTOCONF,
.line = 0,
},
{
base: IO_BASE + UART1,
irq: IRQ_UART1,
uartclk: 3686400,
fifosize: 0,
ops: &anakin_pops,
flags: ASYNC_BOOT_AUTOCONF,
line: 1,
.base = IO_BASE + UART1,
.irq = IRQ_UART1,
.uartclk = 3686400,
.fifosize = 0,
.ops = &anakin_pops,
.flags = ASYNC_BOOT_AUTOCONF,
.line = 1,
},
{
base: IO_BASE + UART2,
irq: IRQ_UART2,
uartclk: 3686400,
fifosize: 0,
ops: &anakin_pops,
flags: ASYNC_BOOT_AUTOCONF,
line: 2,
.base = IO_BASE + UART2,
.irq = IRQ_UART2,
.uartclk = 3686400,
.fifosize = 0,
.ops = &anakin_pops,
.flags = ASYNC_BOOT_AUTOCONF,
.line = 2,
},
{
base: IO_BASE + UART3,
irq: IRQ_UART3,
uartclk: 3686400,
fifosize: 0,
ops: &anakin_pops,
flags: ASYNC_BOOT_AUTOCONF,
line: 3,
.base = IO_BASE + UART3,
.irq = IRQ_UART3,
.uartclk = 3686400,
.fifosize = 0,
.ops = &anakin_pops,
.flags = ASYNC_BOOT_AUTOCONF,
.line = 3,
},
{
base: IO_BASE + UART4,
irq: IRQ_UART4,
uartclk: 3686400,
fifosize: 0,
ops: &anakin_pops,
flags: ASYNC_BOOT_AUTOCONF,
line: 4,
.base = IO_BASE + UART4,
.irq = IRQ_UART4,
.uartclk = 3686400,
.fifosize = 0,
.ops = &anakin_pops,
.flags = ASYNC_BOOT_AUTOCONF,
.line = 4,
},
};
......@@ -485,12 +485,12 @@ anakin_console_setup(struct console *co, char *options)
}
static struct console anakin_console = {
name: SERIAL_ANAKIN_NAME,
write: anakin_console_write,
device: anakin_console_device,
setup: anakin_console_setup,
flags: CON_PRINTBUFFER,
index: -1,
.name = SERIAL_ANAKIN_NAME,
.write = anakin_console_write,
.device = anakin_console_device,
.setup = anakin_console_setup,
.flags = CON_PRINTBUFFER,
.index = -1,
};
void __init
......@@ -505,12 +505,12 @@ anakin_console_init(void)
#endif
static struct uart_register anakin_reg = {
driver_name: SERIAL_ANAKIN_NAME,
dev_name: SERIAL_ANAKIN_NAME,
major: SERIAL_ANAKIN_MAJOR,
minor: SERIAL_ANAKIN_MINOR,
nr: UART_NR,
cons: ANAKIN_CONSOLE,
.driver_name = SERIAL_ANAKIN_NAME,
.dev_name = SERIAL_ANAKIN_NAME,
.major = SERIAL_ANAKIN_MAJOR,
.minor = SERIAL_ANAKIN_MINOR,
.nr = UART_NR,
.cons = ANAKIN_CONSOLE,
};
static int __init
......
......@@ -418,39 +418,39 @@ static int clps711xuart_request_port(struct uart_port *port)
}
static struct uart_ops clps711x_pops = {
tx_empty: clps711xuart_tx_empty,
set_mctrl: clps711xuart_set_mctrl_null,
get_mctrl: clps711xuart_get_mctrl,
stop_tx: clps711xuart_stop_tx,
start_tx: clps711xuart_start_tx,
stop_rx: clps711xuart_stop_rx,
enable_ms: clps711xuart_enable_ms,
break_ctl: clps711xuart_break_ctl,
startup: clps711xuart_startup,
shutdown: clps711xuart_shutdown,
change_speed: clps711xuart_change_speed,
type: clps711xuart_type,
config_port: clps711xuart_config_port,
release_port: clps711xuart_release_port,
request_port: clps711xuart_request_port,
.tx_empty = clps711xuart_tx_empty,
.set_mctrl = clps711xuart_set_mctrl_null,
.get_mctrl = clps711xuart_get_mctrl,
.stop_tx = clps711xuart_stop_tx,
.start_tx = clps711xuart_start_tx,
.stop_rx = clps711xuart_stop_rx,
.enable_ms = clps711xuart_enable_ms,
.break_ctl = clps711xuart_break_ctl,
.startup = clps711xuart_startup,
.shutdown = clps711xuart_shutdown,
.change_speed = clps711xuart_change_speed,
.type = clps711xuart_type,
.config_port = clps711xuart_config_port,
.release_port = clps711xuart_release_port,
.request_port = clps711xuart_request_port,
};
static struct uart_port clps711x_ports[UART_NR] = {
{
iobase: SYSCON1,
irq: IRQ_UTXINT1, /* IRQ_URXINT1, IRQ_UMSINT */
uartclk: 3686400,
fifosize: 16,
ops: &clps711x_pops,
flags: ASYNC_BOOT_AUTOCONF,
.iobase = SYSCON1,
.irq = IRQ_UTXINT1, /* IRQ_URXINT1, IRQ_UMSINT */
.uartclk = 3686400,
.fifosize = 16,
.ops = &clps711x_pops,
.flags = ASYNC_BOOT_AUTOCONF,
},
{
iobase: SYSCON2,
irq: IRQ_UTXINT2, /* IRQ_URXINT2 */
uartclk: 3686400,
fifosize: 16,
ops: &clps711x_pops,
flags: ASYNC_BOOT_AUTOCONF,
.iobase = SYSCON2,
.irq = IRQ_UTXINT2, /* IRQ_URXINT2 */
.uartclk = 3686400,
.fifosize = 16,
.ops = &clps711x_pops,
.flags = ASYNC_BOOT_AUTOCONF,
}
};
......@@ -560,12 +560,12 @@ static int __init clps711xuart_console_setup(struct console *co, char *options)
}
static struct console clps711x_console = {
name: SERIAL_CLPS711X_NAME,
write: clps711xuart_console_write,
device: clps711xuart_console_device,
setup: clps711xuart_console_setup,
flags: CON_PRINTBUFFER,
index: -1,
.name = SERIAL_CLPS711X_NAME,
.write = clps711xuart_console_write,
.device = clps711xuart_console_device,
.setup = clps711xuart_console_setup,
.flags = CON_PRINTBUFFER,
.index = -1,
};
void __init clps711xuart_console_init(void)
......@@ -579,18 +579,18 @@ void __init clps711xuart_console_init(void)
#endif
static struct uart_driver clps711x_reg = {
driver_name: "ttyCL",
.driver_name = "ttyCL",
#ifdef CONFIG_DEVFS_FS
dev_name: SERIAL_CLPS711X_NAME,
.dev_name = SERIAL_CLPS711X_NAME,
#else
dev_name: SERIAL_CLPS711X_NAME,
.dev_name = SERIAL_CLPS711X_NAME,
#endif
major: SERIAL_CLPS711X_MAJOR,
minor: SERIAL_CLPS711X_MINOR,
nr: UART_NR,
.major = SERIAL_CLPS711X_MAJOR,
.minor = SERIAL_CLPS711X_MINOR,
.nr = UART_NR,
cons: CLPS711X_CONSOLE,
.cons = CLPS711X_CONSOLE,
};
static int __init clps711xuart_init(void)
......
......@@ -1450,6 +1450,9 @@ uart_block_til_ready(struct file *filp, struct uart_info *info)
if (signal_pending(current))
return -ERESTARTSYS;
if (info->tty->flags & (1 << TTY_IO_ERROR))
return 0;
if (tty_hung_up_p(filp) || !(info->flags & UIF_INITIALIZED))
return (port->flags & UPF_HUP_NOTIFY) ?
-EAGAIN : -ERESTARTSYS;
......@@ -2425,7 +2428,7 @@ int uart_register_port(struct uart_driver *drv, struct uart_port *port)
state->port->regshift = port->regshift;
state->port->iotype = port->iotype;
state->port->flags = port->flags;
state->port->line = drv->state - state;
state->port->line = state - drv->state;
__uart_register_port(drv, state, state->port);
......
......@@ -602,22 +602,22 @@ sa1100_verify_port(struct uart_port *port, struct serial_struct *ser)
}
static struct uart_ops sa1100_pops = {
tx_empty: sa1100_tx_empty,
set_mctrl: sa1100_set_mctrl,
get_mctrl: sa1100_get_mctrl,
stop_tx: sa1100_stop_tx,
start_tx: sa1100_start_tx,
stop_rx: sa1100_stop_rx,
enable_ms: sa1100_enable_ms,
break_ctl: sa1100_break_ctl,
startup: sa1100_startup,
shutdown: sa1100_shutdown,
change_speed: sa1100_change_speed,
type: sa1100_type,
release_port: sa1100_release_port,
request_port: sa1100_request_port,
config_port: sa1100_config_port,
verify_port: sa1100_verify_port,
.tx_empty = sa1100_tx_empty,
.set_mctrl = sa1100_set_mctrl,
.get_mctrl = sa1100_get_mctrl,
.stop_tx = sa1100_stop_tx,
.start_tx = sa1100_start_tx,
.stop_rx = sa1100_stop_rx,
.enable_ms = sa1100_enable_ms,
.break_ctl = sa1100_break_ctl,
.startup = sa1100_startup,
.shutdown = sa1100_shutdown,
.change_speed = sa1100_change_speed,
.type = sa1100_type,
.release_port = sa1100_release_port,
.request_port = sa1100_request_port,
.config_port = sa1100_config_port,
.verify_port = sa1100_verify_port,
};
static struct sa1100_port sa1100_ports[NR_PORTS];
......@@ -820,12 +820,12 @@ sa1100_console_setup(struct console *co, char *options)
}
static struct console sa1100_console = {
name: "ttySA",
write: sa1100_console_write,
device: sa1100_console_device,
setup: sa1100_console_setup,
flags: CON_PRINTBUFFER,
index: -1,
.name = "ttySA",
.write = sa1100_console_write,
.device = sa1100_console_device,
.setup = sa1100_console_setup,
.flags = CON_PRINTBUFFER,
.index = -1,
};
void __init sa1100_rs_console_init(void)
......@@ -840,17 +840,17 @@ void __init sa1100_rs_console_init(void)
#endif
static struct uart_driver sa1100_reg = {
owner: THIS_MODULE,
driver_name: "ttySA",
.owner = THIS_MODULE,
.driver_name = "ttySA",
#ifdef CONFIG_DEVFS_FS
dev_name: "ttySA%d",
.dev_name = "ttySA%d",
#else
dev_name: "ttySA",
.dev_name = "ttySA",
#endif
major: SERIAL_SA1100_MAJOR,
minor: MINOR_START,
nr: NR_PORTS,
cons: SA1100_CONSOLE,
.major = SERIAL_SA1100_MAJOR,
.minor = MINOR_START,
.nr = NR_PORTS,
.cons = SA1100_CONSOLE,
};
static int __init sa1100_serial_init(void)
......
......@@ -498,35 +498,35 @@ static int uart00_verify_port(struct uart_port *port, struct serial_struct *ser)
}
static struct uart_ops uart00_pops = {
tx_empty: uart00_tx_empty,
set_mctrl: uart00_set_mctrl_null,
get_mctrl: uart00_get_mctrl,
stop_tx: uart00_stop_tx,
start_tx: uart00_start_tx,
stop_rx: uart00_stop_rx,
enable_ms: uart00_enable_ms,
break_ctl: uart00_break_ctl,
startup: uart00_startup,
shutdown: uart00_shutdown,
change_speed: uart00_change_speed,
type: uart00_type,
release_port: uart00_release_port,
request_port: uart00_request_port,
config_port: uart00_config_port,
verify_port: uart00_verify_port,
.tx_empty = uart00_tx_empty,
.set_mctrl = uart00_set_mctrl_null,
.get_mctrl = uart00_get_mctrl,
.stop_tx = uart00_stop_tx,
.start_tx = uart00_start_tx,
.stop_rx = uart00_stop_rx,
.enable_ms = uart00_enable_ms,
.break_ctl = uart00_break_ctl,
.startup = uart00_startup,
.shutdown = uart00_shutdown,
.change_speed = uart00_change_speed,
.type = uart00_type,
.release_port = uart00_release_port,
.request_port = uart00_request_port,
.config_port = uart00_config_port,
.verify_port = uart00_verify_port,
};
#ifdef CONFIG_ARCH_CAMELOT
static struct uart_port epxa10db_port = {
membase: (void*)IO_ADDRESS(EXC_UART00_BASE),
mapbase: EXC_UART00_BASE,
iotype: SERIAL_IO_MEM,
irq: IRQ_UART,
uartclk: EXC_AHB2_CLK_FREQUENCY,
fifosize: 16,
ops: &uart00_pops,
flags: ASYNC_BOOT_AUTOCONF,
.membase = (void*)IO_ADDRESS(EXC_UART00_BASE),
.mapbase = EXC_UART00_BASE,
.iotype = SERIAL_IO_MEM,
.irq = IRQ_UART,
.uartclk = EXC_AHB2_CLK_FREQUENCY,
.fifosize = 16,
.ops = &uart00_pops,
.flags = ASYNC_BOOT_AUTOCONF,
};
#endif
......@@ -633,12 +633,12 @@ static int __init uart00_console_setup(struct console *co, char *options)
}
static struct console uart00_console = {
name: SERIAL_UART00_NAME,
write: uart00_console_write,
device: uart00_console_device,
setup: uart00_console_setup,
flags: CON_PRINTBUFFER,
index: 0,
.name = SERIAL_UART00_NAME,
.write = uart00_console_write,
.device = uart00_console_device,
.setup = uart00_console_setup,
.flags = CON_PRINTBUFFER,
.index = 0,
};
void __init uart00_console_init(void)
......@@ -652,13 +652,13 @@ void __init uart00_console_init(void)
#endif
static struct uart_driver uart00_reg = {
owner: NULL,
driver_name: SERIAL_UART00_NAME,
dev_name: SERIAL_UART00_NAME,
major: SERIAL_UART00_MAJOR,
minor: SERIAL_UART00_MINOR,
nr: UART_NR,
cons: UART00_CONSOLE,
.owner = NULL,
.driver_name = SERIAL_UART00_NAME,
.dev_name = SERIAL_UART00_NAME,
.major = SERIAL_UART00_MAJOR,
.minor = SERIAL_UART00_MINOR,
.nr = UART_NR,
.cons = UART00_CONSOLE,
};
struct dev_port_entry{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment