Merge master.kernel.org:/home/rmk/linux-2.6-serial

This commit is contained in:
Linus Torvalds 2006-02-03 15:51:48 -08:00
commit 27266a18dc
4 changed files with 29 additions and 2 deletions

View File

@ -439,6 +439,20 @@ static int pci_siig_init(struct pci_dev *dev)
return -ENODEV; return -ENODEV;
} }
static int pci_siig_setup(struct serial_private *priv,
struct pciserial_board *board,
struct uart_port *port, int idx)
{
unsigned int bar = FL_GET_BASE(board->flags) + idx, offset = 0;
if (idx > 3) {
bar = 4;
offset = (idx - 4) * 8;
}
return setup_port(priv, port, bar, offset, 0);
}
/* /*
* Timedia has an explosion of boards, and to avoid the PCI table from * Timedia has an explosion of boards, and to avoid the PCI table from
* growing *huge*, we use this function to collapse some 70 entries * growing *huge*, we use this function to collapse some 70 entries
@ -748,7 +762,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = {
.subvendor = PCI_ANY_ID, .subvendor = PCI_ANY_ID,
.subdevice = PCI_ANY_ID, .subdevice = PCI_ANY_ID,
.init = pci_siig_init, .init = pci_siig_init,
.setup = pci_default_setup, .setup = pci_siig_setup,
}, },
/* /*
* Titan cards * Titan cards
@ -2141,6 +2155,15 @@ static struct pci_device_id serial_pci_tbl[] = {
{ PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_4S_20x_850, { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_4S_20x_850,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
pbn_b0_bt_4_921600 }, pbn_b0_bt_4_921600 },
{ PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_8S_20x_550,
PCI_ANY_ID, PCI_ANY_ID, 0, 0,
pbn_b0_bt_8_921600 },
{ PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_8S_20x_650,
PCI_ANY_ID, PCI_ANY_ID, 0, 0,
pbn_b0_bt_8_921600 },
{ PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_8S_20x_850,
PCI_ANY_ID, PCI_ANY_ID, 0, 0,
pbn_b0_bt_8_921600 },
/* /*
* Computone devices submitted by Doug McNash dmcnash@computone.com * Computone devices submitted by Doug McNash dmcnash@computone.com

View File

@ -98,6 +98,7 @@ config SERIAL_8250_NR_UARTS
config SERIAL_8250_RUNTIME_UARTS config SERIAL_8250_RUNTIME_UARTS
int "Number of 8250/16550 serial ports to register at runtime" int "Number of 8250/16550 serial ports to register at runtime"
depends on SERIAL_8250 depends on SERIAL_8250
range 0 SERIAL_8250_NR_UARTS
default "4" default "4"
help help
Set this to the maximum number of serial ports you want Set this to the maximum number of serial ports you want

View File

@ -2237,7 +2237,7 @@ int uart_add_one_port(struct uart_driver *drv, struct uart_port *port)
* If this port is a console, then the spinlock is already * If this port is a console, then the spinlock is already
* initialised. * initialised.
*/ */
if (!uart_console(port)) if (!(uart_console(port) && (port->cons->flags & CON_ENABLED)))
spin_lock_init(&port->lock); spin_lock_init(&port->lock);
uart_configure_port(drv, state, port); uart_configure_port(drv, state, port);

View File

@ -1670,6 +1670,9 @@
#define PCI_DEVICE_ID_SIIG_2S1P_20x_550 0x2060 #define PCI_DEVICE_ID_SIIG_2S1P_20x_550 0x2060
#define PCI_DEVICE_ID_SIIG_2S1P_20x_650 0x2061 #define PCI_DEVICE_ID_SIIG_2S1P_20x_650 0x2061
#define PCI_DEVICE_ID_SIIG_2S1P_20x_850 0x2062 #define PCI_DEVICE_ID_SIIG_2S1P_20x_850 0x2062
#define PCI_DEVICE_ID_SIIG_8S_20x_550 0x2080
#define PCI_DEVICE_ID_SIIG_8S_20x_650 0x2081
#define PCI_DEVICE_ID_SIIG_8S_20x_850 0x2082
#define PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL 0x2050 #define PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL 0x2050
#define PCI_VENDOR_ID_RADISYS 0x1331 #define PCI_VENDOR_ID_RADISYS 0x1331