bk://bk.arm.linux.org.uk/linux-2.6-serial
bjorn.helgaas@com.rmk.(none)[rmk]|ChangeSet|20050211232306|30761 bjorn.helgaas

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2005/02/11 23:23:06+00:00 bjorn.helgaas@com.rmk.(none) 
#   [SERIAL] add TP560 data/fax/modem support
#   
#   Patch from Bjorn Helgaas
#   
#   Claim Topic TP560 data/fax/voice modem.  This device reports as class 0x0780,
#   so we don't claim it by default:
#                                                                                   
#           00:0d.0 Class 0780: 151f:0000
#                   Subsystem: 151f:0000
#                   Interrupt: pin A routed to IRQ 11
#                   Region 0: I/O ports at a400 [size=8]
#           00: 1f 15 00 00 01 00 00 02 00 00 80 07 00 00 00 00
#           10: 01 a4 00 00 00 00 00 00 00 00 00 00 00 00 00 00
#           20: 00 00 00 00 00 00 00 00 00 00 00 00 1f 15 00 00
#           30: 00 00 00 00 00 00 00 00 00 00 00 00 0b 01 00 00
#                                                                                   
#   Some rc.serial scripts extract IRQ and I/O port information from
#   /proc/pci and stuff it into an unused port using setserial.  That
#   doesn't work reliably anymore because pci_enable_device() is never
#   called, so the IRQ may not be enabled.
#                                                                                   
#   Thanks to Evan Clarke for reporting and helping debug this problem.
#                                                                                   
#   Signed-off-by: Bjorn Helgaas
# 
# include/linux/pci_ids.h
#   2005/02/11 23:18:13+00:00 bjorn.helgaas@com.rmk.(none) +3 -0
#   [PATCH] add TP560 data/fax/modem support
# 
# drivers/serial/8250_pci.c
#   2005/02/11 23:18:12+00:00 bjorn.helgaas@com.rmk.(none) +7 -0
#   [PATCH] add TP560 data/fax/modem support
# 
# ChangeSet
#   2005/02/11 23:04:52+00:00 c.lucas@com.rmk.(none) 
#   [SERIAL] drivers/serial/*: convert to pci_register_driver
#   
#   Patch from Christophe Lucas
#   
#   convert from pci_module_init to pci_register_driver
#   
#   Signed-off-by: Christophe Lucas
# 
# drivers/serial/8250_pci.c
#   2005/02/11 22:59:12+00:00 c.lucas@com.rmk.(none) +1 -1
#   [PATCH] drivers/serial/*: convert to pci_register_driver
# 
# ChangeSet
#   2005/02/09 21:18:47+00:00 bjorn.helgaas@com.rmk.(none) 
#   [SERIAL] discover PNP ports before PCI, etc
#   
#   Patch from Bjorn Helgaas
#   
#   PNP ports tend to be built-in, and discovering them after
#   PCI ports means the names of the built-in ports can change
#   if you add or remove PCI ports.
#                                                                                   
#   (And yes, we should look at getting rid of 8250_acpi.c
#   now that we have PNPACPI, but that's for another patch.)
#                                                                                   
#   Signed-off-by: Bjorn Helgaas
# 
# drivers/serial/Makefile
#   2005/02/09 21:14:12+00:00 bjorn.helgaas@com.rmk.(none) +1 -1
#   [PATCH] SERIAL: discover PNP ports before PCI, etc
# 
diff -Nru a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c
--- a/drivers/serial/8250_pci.c	2005-02-22 18:35:41 -08:00
+++ b/drivers/serial/8250_pci.c	2005-02-22 18:35:41 -08:00
@@ -2212,6 +2212,13 @@
 		0, pbn_exar_XR17C158 },
 
 	/*
+	 * Topic TP560 Data/Fax/Voice 56k modem (reported by Evan Clarke)
+	 */
+	{	PCI_VENDOR_ID_TOPIC, PCI_DEVICE_ID_TOPIC_TP560,
+		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
+		pbn_b0_1_115200 },
+
+	/*
 	 * These entries match devices with class COMMUNICATION_SERIAL,
 	 * COMMUNICATION_MODEM or COMMUNICATION_MULTISERIAL
 	 */
@@ -2241,7 +2248,7 @@
 
 static int __init serial8250_pci_init(void)
 {
-	return pci_module_init(&serial_pci_driver);
+	return pci_register_driver(&serial_pci_driver);
 }
 
 static void __exit serial8250_pci_exit(void)
diff -Nru a/drivers/serial/Makefile b/drivers/serial/Makefile
--- a/drivers/serial/Makefile	2005-02-22 18:35:41 -08:00
+++ b/drivers/serial/Makefile	2005-02-22 18:35:41 -08:00
@@ -6,9 +6,9 @@
 
 serial-8250-y :=
 serial-8250-$(CONFIG_SERIAL_8250_ACPI) += 8250_acpi.o
+serial-8250-$(CONFIG_PNP) += 8250_pnp.o
 serial-8250-$(CONFIG_GSC) += 8250_gsc.o
 serial-8250-$(CONFIG_PCI) += 8250_pci.o
-serial-8250-$(CONFIG_PNP) += 8250_pnp.o
 serial-8250-$(CONFIG_HP300) += 8250_hp300.o
 
 obj-$(CONFIG_SERIAL_CORE) += serial_core.o
diff -Nru a/include/linux/pci_ids.h b/include/linux/pci_ids.h
--- a/include/linux/pci_ids.h	2005-02-22 18:35:41 -08:00
+++ b/include/linux/pci_ids.h	2005-02-22 18:35:41 -08:00
@@ -1972,6 +1972,9 @@
 #define PCI_DEVICE_ID_BCM4401		0x4401
 #define PCI_DEVICE_ID_BCM4401B0		0x4402
 
+#define PCI_VENDOR_ID_TOPIC		0x151f
+#define PCI_DEVICE_ID_TOPIC_TP560	0x0000
+
 #define PCI_VENDOR_ID_ENE		0x1524
 #define PCI_DEVICE_ID_ENE_1211		0x1211
 #define PCI_DEVICE_ID_ENE_1225		0x1225