Hello, This patch (against 2.6.16-rc1) adds support for SIIG 8 port serial boards. Please consider applying. Best regards. -- Andrey Panin | Linux and UNIX system administrator [email protected] | PGP key: wwwkeys.pgp.net
drivers/serial/8250_pci.c | 25 ++++++++++++++++++++++++- include/linux/pci_ids.h | 3 +++ 2 files changed, 27 insertions(+), 1 deletion(-) diff -urdpNX /usr/share/dontdiff linux-2.6.16-rc1.vanilla/drivers/serial/8250_pci.c linux-2.6.16-rc1/drivers/serial/8250_pci.c --- linux-2.6.16-rc1.vanilla/drivers/serial/8250_pci.c 2006-01-24 10:14:24.000000000 +0300 +++ linux-2.6.16-rc1/drivers/serial/8250_pci.c 2006-01-24 10:16:56.000000000 +0300 @@ -439,6 +439,20 @@ static int pci_siig_init(struct pci_dev 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 * growing *huge*, we use this function to collapse some 70 entries @@ -748,7 +762,7 @@ static struct pci_serial_quirk pci_seria .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, .init = pci_siig_init, - .setup = pci_default_setup, + .setup = pci_siig_setup, }, /* * Titan cards @@ -2134,6 +2148,15 @@ static struct pci_device_id serial_pci_t { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_4S_20x_850, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 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 [email protected] diff -urdpNX /usr/share/dontdiff linux-2.6.16-rc1.vanilla/include/linux/pci_ids.h linux-2.6.16-rc1/include/linux/pci_ids.h --- linux-2.6.16-rc1.vanilla/include/linux/pci_ids.h 2006-01-24 10:14:51.000000000 +0300 +++ linux-2.6.16-rc1/include/linux/pci_ids.h 2006-01-24 10:16:56.000000000 +0300 @@ -1677,6 +1677,9 @@ #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_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_VENDOR_ID_RADISYS 0x1331
Attachment:
signature.asc
Description: Digital signature
- Follow-Ups:
- Re: [PATCH] SIIG 8-port serial boards support
- From: Russell King <[email protected]>
- Re: [PATCH] SIIG 8-port serial boards support
- Prev by Date: Re: [PATCH] swsusp: use bytes as image size units
- Next by Date: [PATCH -mm] swsusp: userland interface (rev 2)
- Previous by thread: RCU latency regression in 2.6.16-rc1
- Next by thread: Re: [PATCH] SIIG 8-port serial boards support
- Index(es):