From: Andrey Panin <[email-masked]>

Add support for SIIG Quartet Serial card.  This card has Oxford
Semiconducor 16954 quad UART which is clocked by 10x faster (18.432 MHz)
quartz.

Cc: <[email-masked]>
Signed-off-by: Andrew Morton <[email-masked]>
---

 drivers/serial/8250_pci.c |   14 ++++++++++++++
 include/linux/pci_ids.h   |    2 ++
 2 files changed, 16 insertions(+)

diff -puN drivers/serial/8250_pci.c~serial-add-siig-quartet-support drivers/serial/8250_pci.c
--- 25/drivers/serial/8250_pci.c~serial-add-siig-quartet-support	2005-04-29 18:07:16.284373560 -0700
+++ 25-akpm/drivers/serial/8250_pci.c	2005-04-29 18:07:16.291372496 -0700
@@ -389,6 +389,9 @@ static void __devexit sbs_exit(struct pc
  *     - 10x cards have control registers in IO and/or memory space;
  *     - 20x cards have control registers in standard PCI configuration space.
  *
+ * There are also Quartet Serial cards which use Oxford Semiconductor
+ * 16954 quad UART PCI chip clocked by 18.432 MHz quartz.
+ *
  * Note: some SIIG cards are probed by the parport_serial object.
  */
 
@@ -1038,6 +1041,8 @@ enum pci_board_num_t {
 	pbn_b0_bt_4_921600,
 	pbn_b0_bt_8_921600,
 
+	pbn_b0_4_1152000,
+
 	pbn_b1_1_115200,
 	pbn_b1_2_115200,
 	pbn_b1_4_115200,
@@ -1226,6 +1231,12 @@ static struct pci_board pci_boards[] __d
 		.base_baud	= 921600,
 		.uart_offset	= 8,
 	},
+	[pbn_b0_4_1152000] = {
+		.flags		= FL_BASE0,
+		.num_ports	= 4,
+		.base_baud	= 1152000,
+		.uart_offset	= 8,
+	},
 
 	[pbn_b1_1_115200] = {
 		.flags		= FL_BASE1,
@@ -1983,6 +1994,9 @@ static struct pci_device_id serial_pci_t
 		PCI_VENDOR_ID_SPECIALIX, PCI_SUBDEVICE_ID_SPECIALIX_SPEED4, 0, 0,
 		pbn_b0_4_921600 },
 	{	PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954,
+		PCI_SUBVENDOR_ID_SIIG, PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL, 0, 0,
+		pbn_b0_4_1152000 },
+	{	PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954,
 		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
 		pbn_b0_4_115200 },
 	{	PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI952,
diff -puN include/linux/pci_ids.h~serial-add-siig-quartet-support include/linux/pci_ids.h
--- 25/include/linux/pci_ids.h~serial-add-siig-quartet-support	2005-04-29 18:07:16.286373256 -0700
+++ 25-akpm/include/linux/pci_ids.h	2005-04-29 18:07:16.305370368 -0700
@@ -1859,6 +1859,7 @@
 #define PCI_DEVICE_ID_CBOARDS_DAS1602_16 0x0001
 
 #define PCI_VENDOR_ID_SIIG		0x131f
+#define PCI_SUBVENDOR_ID_SIIG		0x131f
 #define PCI_DEVICE_ID_SIIG_1S_10x_550	0x1000
 #define PCI_DEVICE_ID_SIIG_1S_10x_650	0x1001
 #define PCI_DEVICE_ID_SIIG_1S_10x_850	0x1002
@@ -1896,6 +1897,7 @@
 #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_SUBDEVICE_ID_SIIG_QUARTET_SERIAL	0x2050
 
 #define PCI_VENDOR_ID_RADISYS		0x1331
 #define PCI_DEVICE_ID_RADISYS_ENP2611	0x0030
_