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