Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758193AbYJQT3e (ORCPT ); Fri, 17 Oct 2008 15:29:34 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755712AbYJQT30 (ORCPT ); Fri, 17 Oct 2008 15:29:26 -0400 Received: from earthlight.etchedpixels.co.uk ([81.2.110.250]:50697 "EHLO lxorguk.ukuu.org.uk" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755584AbYJQT3Z (ORCPT ); Fri, 17 Oct 2008 15:29:25 -0400 From: Alan Cox Subject: [PATCH 3/3] 8250: Add more OxSemi devices To: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org Date: Fri, 17 Oct 2008 20:29:23 +0100 Message-ID: <20081017192849.9308.32463.stgit@localhost.localdomain> In-Reply-To: <20081017192309.9308.74370.stgit@localhost.localdomain> References: <20081017192309.9308.74370.stgit@localhost.localdomain> User-Agent: StGIT/0.14.2 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2881 Lines: 82 From: Lee Howard These have the Mainpine PCI identifier on however Additional paranoia check for Tornado versions added by Alan Cox Signed-off-by: Lee Howard Signed-off-by: Alan Cox --- drivers/serial/8250_pci.c | 30 +++++++++++++++++++++++++----- 1 files changed, 25 insertions(+), 5 deletions(-) diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c index 43c990a..1198e50 100644 --- a/drivers/serial/8250_pci.c +++ b/drivers/serial/8250_pci.c @@ -1865,6 +1865,11 @@ static int pci_oxsemi_tornado_init(struct pci_dev *dev, struct pciserial_board * unsigned long deviceID; unsigned int number_uarts; + /* OxSemi Tornado devices are all 0xCxxx */ + if (dev->vendor == PCI_VENDOR_OXSEMI && + (dev->device & 0xF000) != 0xC000) + return 0; + p = pci_iomap(dev, 0, 5); if (p == NULL) return -ENOMEM; @@ -1893,7 +1898,8 @@ pciserial_init_ports(struct pci_dev *dev, struct pciserial_board *board) /* * Find number of ports on board */ - if (dev->vendor == PCI_VENDOR_ID_OXSEMI) + if (dev->vendor == PCI_VENDOR_ID_OXSEMI || + (dev->vendor == PCI_VENDOR_ID_MAINPINE) pci_oxsemi_tornado_init(dev, board); nr_ports = board->num_ports; @@ -2375,9 +2381,9 @@ static struct pci_device_id serial_pci_tbl[] = { PCI_ANY_ID, PCI_ANY_ID, 0, 0, pbn_b0_bt_2_921600 }, - /* - * Oxford Semiconductor Inc. Tornado PCI express device range. - */ + /* + * Oxford Semiconductor Inc. Tornado PCI express device range. + */ { PCI_VENDOR_ID_OXSEMI, 0xc101, /* OXPCIe952 1 Legacy UART */ PCI_ANY_ID, PCI_ANY_ID, 0, 0, pbn_b0_1_4000000 }, @@ -2510,7 +2516,21 @@ static struct pci_device_id serial_pci_tbl[] = { { PCI_VENDOR_ID_OXSEMI, 0xc4cf, /* OXPCIe200 1 Native UART */ PCI_ANY_ID, PCI_ANY_ID, 0, 0, pbn_oxsemi_1_4000000 }, - + /* + * Mainpine Inc. IQ Express "Rev3" utilizing OxSemi Tornado + */ + { PCI_VENDOR_ID_MAINPINE, 0x4000, /* IQ Express 1 Port V.34 Super-G3 Fax *. + PCI_VENDOR_ID_MAINPINE, 0x4001, 0, 0, + pbn_oxsemi_1_4000000 }, + { PCI_VENDOR_ID_MAINPINE, 0x4000, /* IQ Express 2 Port V.34 Super-G3 Fax */ + PCI_VENDOR_ID_MAINPINE, 0x4002, 0, 0, + pbn_oxsemi_2_4000000 }, + { PCI_VENDOR_ID_MAINPINE, 0x4000, /* IQ Express 4 Port V.34 Super-G3 Fax */ + PCI_VENDOR_ID_MAINPINE, 0x4004, 0, 0, + pbn_oxsemi_4_4000000 }, + { PCI_VENDOR_ID_MAINPINE, 0x4000, /* IQ Express 8 Port V.34 Super-G3 Fax */ + PCI_VENDOR_ID_MAINPINE, 0x4008, 0, 0, + pbn_oxsemi_8_4000000 }, /* * SBS Technologies, Inc. P-Octal and PMC-OCTPRO cards, * from skokodyn@yahoo.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/