From: David Ranson <spam.david.trap@unsolicited.net>

Add support for the MRi PCIDS1 dual port serial card.  This card is a
little controversial since it is the subject of a PCI vendor/device ID
clash.  (See
http://www.ussg.iu.edu/hypermail/linux/kernel/0303.1/0516.html).  I have
for now just used the hex ID 0x950a.  The divisor was part calculated part
iterated, so may not be exactly correct (but works for me at all settings
between 300 - 115300 bps).

rmk said:


 Why is this in the middle of the 921600-series entries?  This enum is
 a sorted list, sorted by (in order of priority):

 - base baud
 - bt (index using bars) / non-bars
 - bar index
 - number of ports

 Since this is 1130000, non-bar index, starting at bar 0, 2 ports, this
 should come after pbn_b0_4_921600 and before pbn_b0_bt_1_115200.

 The same goes for the order of entries in the pci_boards[] array.

 > @@ -1981,6 +1988,9 @@ static struct pci_device_id serial_pci_t
 >  	{	PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI952,
 >  		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
 >  		pbn_b0_bt_2_921600 },
 > +	{	PCI_VENDOR_ID_OXSEMI, 0x950a,
 > +		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
 > +		pbn_b0_2_1130000 },

 I think a note above this entry describing the problem with the IDs
 would be a very good idea.

Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 drivers/serial/8250_pci.c |   10 ++++++++++
 1 files changed, 10 insertions(+)

diff -puN drivers/serial/8250_pci.c~serial-mri-mri-pcids1-dual-port-serial-card drivers/serial/8250_pci.c
--- 25/drivers/serial/8250_pci.c~serial-mri-mri-pcids1-dual-port-serial-card	2005-05-09 20:10:06.000000000 -0700
+++ 25-akpm/drivers/serial/8250_pci.c	2005-05-09 20:10:06.000000000 -0700
@@ -1024,6 +1024,7 @@ enum pci_board_num_t {
 
 	pbn_b0_1_921600,
 	pbn_b0_2_921600,
+	pbn_b0_2_1130000,
 	pbn_b0_4_921600,
 
 	pbn_b0_bt_1_115200,
@@ -1152,6 +1153,12 @@ static struct pci_board pci_boards[] __d
 		.base_baud	= 921600,
 		.uart_offset	= 8,
 	},
+	[pbn_b0_2_1130000] = {
+		.flags          = FL_BASE0,
+		.num_ports      = 2,
+		.base_baud      = 1130000,
+		.uart_offset    = 8,
+	},
 	[pbn_b0_4_921600] = {
 		.flags		= FL_BASE0,
 		.num_ports	= 4,
@@ -1983,6 +1990,9 @@ static struct pci_device_id serial_pci_t
 	{	PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI952,
 		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
 		pbn_b0_bt_2_921600 },
+	{	PCI_VENDOR_ID_OXSEMI, 0x950a,
+		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+		pbn_b0_2_1130000 },
 
 	/*
 	 * SBS Technologies, Inc. P-Octal and PMC-OCTPRO cards,
_