Merge master.kernel.org:/home/rmk/linux-2.6-serial
This commit is contained in:
commit
24c83d45d7
|
@ -6,7 +6,7 @@ menu "Misc devices"
|
||||||
|
|
||||||
config IBM_ASM
|
config IBM_ASM
|
||||||
tristate "Device driver for IBM RSA service processor"
|
tristate "Device driver for IBM RSA service processor"
|
||||||
depends on X86 && PCI && EXPERIMENTAL && BROKEN
|
depends on X86 && PCI && EXPERIMENTAL
|
||||||
---help---
|
---help---
|
||||||
This option enables device driver support for in-band access to the
|
This option enables device driver support for in-band access to the
|
||||||
IBM RSA (Condor) service processor in eServer xSeries systems.
|
IBM RSA (Condor) service processor in eServer xSeries systems.
|
||||||
|
|
|
@ -25,15 +25,15 @@
|
||||||
#include <linux/termios.h>
|
#include <linux/termios.h>
|
||||||
#include <linux/tty.h>
|
#include <linux/tty.h>
|
||||||
#include <linux/serial_core.h>
|
#include <linux/serial_core.h>
|
||||||
#include <linux/serial.h>
|
|
||||||
#include <linux/serial_reg.h>
|
#include <linux/serial_reg.h>
|
||||||
|
#include <linux/serial_8250.h>
|
||||||
#include "ibmasm.h"
|
#include "ibmasm.h"
|
||||||
#include "lowlevel.h"
|
#include "lowlevel.h"
|
||||||
|
|
||||||
|
|
||||||
void ibmasm_register_uart(struct service_processor *sp)
|
void ibmasm_register_uart(struct service_processor *sp)
|
||||||
{
|
{
|
||||||
struct serial_struct serial;
|
struct uart_port uport;
|
||||||
void __iomem *iomem_base;
|
void __iomem *iomem_base;
|
||||||
|
|
||||||
iomem_base = sp->base_address + SCOUT_COM_B_BASE;
|
iomem_base = sp->base_address + SCOUT_COM_B_BASE;
|
||||||
|
@ -47,14 +47,14 @@ void ibmasm_register_uart(struct service_processor *sp)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(&serial, 0, sizeof(serial));
|
memset(&uport, 0, sizeof(struct uart_port));
|
||||||
serial.irq = sp->irq;
|
uport.irq = sp->irq;
|
||||||
serial.baud_base = 3686400 / 16;
|
uport.uartclk = 3686400;
|
||||||
serial.flags = UPF_AUTOPROBE | UPF_SHARE_IRQ;
|
uport.flags = UPF_AUTOPROBE | UPF_SHARE_IRQ;
|
||||||
serial.io_type = UPIO_MEM;
|
uport.iotype = UPIO_MEM;
|
||||||
serial.iomem_base = iomem_base;
|
uport.membase = iomem_base;
|
||||||
|
|
||||||
sp->serial_line = register_serial(&serial);
|
sp->serial_line = serial8250_register_port(&uport);
|
||||||
if (sp->serial_line < 0) {
|
if (sp->serial_line < 0) {
|
||||||
dev_err(sp->dev, "Failed to register serial port\n");
|
dev_err(sp->dev, "Failed to register serial port\n");
|
||||||
return;
|
return;
|
||||||
|
@ -68,5 +68,5 @@ void ibmasm_unregister_uart(struct service_processor *sp)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
disable_uart_interrupts(sp->base_address);
|
disable_uart_interrupts(sp->base_address);
|
||||||
unregister_serial(sp->serial_line);
|
serial8250_unregister_port(sp->serial_line);
|
||||||
}
|
}
|
||||||
|
|
|
@ -207,7 +207,7 @@ static void lh7a40xuart_tx_chars (struct uart_port* port)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (uart_circ_empty (xmit) || uart_tx_stopped (port)) {
|
if (uart_circ_empty (xmit) || uart_tx_stopped (port)) {
|
||||||
lh7a40xuart_stop_tx (port, 0);
|
lh7a40xuart_stop_tx (port);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -229,7 +229,7 @@ static void lh7a40xuart_tx_chars (struct uart_port* port)
|
||||||
uart_write_wakeup (port);
|
uart_write_wakeup (port);
|
||||||
|
|
||||||
if (uart_circ_empty (xmit))
|
if (uart_circ_empty (xmit))
|
||||||
lh7a40xuart_stop_tx (port, 0);
|
lh7a40xuart_stop_tx (port);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void lh7a40xuart_modem_status (struct uart_port* port)
|
static void lh7a40xuart_modem_status (struct uart_port* port)
|
||||||
|
|
Loading…
Reference in New Issue