aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/8250
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2012-09-04 11:21:06 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-09-05 19:38:40 -0400
commit27788c5fe6af98c34950326b62778da15e30eb55 (patch)
tree1dabf1c81c3edd78c45e0e47073671875114b39b /drivers/tty/serial/8250
parent9986ffd9032a103df54fa4ed85f8f83f6b215194 (diff)
8250_pci: Add additional WCH CHC353 devices
These were reported in bugzilla long ago with a hack patch. Now we have a proper patch for one we can do the rest. Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=25102 Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial/8250')
-rw-r--r--drivers/tty/serial/8250/8250_pci.c41
1 files changed, 37 insertions, 4 deletions
diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
index 803d313e061b..fdab80a4e063 100644
--- a/drivers/tty/serial/8250/8250_pci.c
+++ b/drivers/tty/serial/8250/8250_pci.c
@@ -1204,6 +1204,10 @@ pci_wch_ch353_setup(struct serial_private *priv,
1204#define PCIE_DEVICE_ID_NEO_2_OX_IBM 0x00F6 1204#define PCIE_DEVICE_ID_NEO_2_OX_IBM 0x00F6
1205#define PCI_DEVICE_ID_PLX_CRONYX_OMEGA 0xc001 1205#define PCI_DEVICE_ID_PLX_CRONYX_OMEGA 0xc001
1206#define PCI_DEVICE_ID_INTEL_PATSBURG_KT 0x1d3d 1206#define PCI_DEVICE_ID_INTEL_PATSBURG_KT 0x1d3d
1207#define PCI_VENDOR_ID_WCH 0x4348
1208#define PCI_DEVICE_ID_WCH_CH353_4S 0x3453
1209#define PCI_DEVICE_ID_WCH_CH353_2S1PF 0x5046
1210#define PCI_DEVICE_ID_WCH_CH353_2S1P 0x7053
1207#define PCI_VENDOR_ID_AGESTAR 0x5372 1211#define PCI_VENDOR_ID_AGESTAR 0x5372
1208#define PCI_DEVICE_ID_AGESTAR_9375 0x6872 1212#define PCI_DEVICE_ID_AGESTAR_9375 0x6872
1209#define PCI_VENDOR_ID_ASIX 0x9710 1213#define PCI_VENDOR_ID_ASIX 0x9710
@@ -1749,10 +1753,26 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
1749 }, 1753 },
1750 /* WCH CH353 2S1P card (16550 clone) */ 1754 /* WCH CH353 2S1P card (16550 clone) */
1751 { 1755 {
1752 .vendor = 0x4348, 1756 .vendor = PCI_VENDOR_ID_WCH,
1753 .device = 0x7053, 1757 .device = PCI_DEVICE_ID_WCH_CH353_2S1P,
1754 .subvendor = 0x4348, 1758 .subvendor = PCI_ANY_ID,
1755 .subdevice = 0x3253, 1759 .subdevice = PCI_ANY_ID,
1760 .setup = pci_wch_ch353_setup,
1761 },
1762 /* WCH CH353 4S card (16550 clone) */
1763 {
1764 .vendor = PCI_VENDOR_ID_WCH,
1765 .device = PCI_DEVICE_ID_WCH_CH353_4S,
1766 .subvendor = PCI_ANY_ID,
1767 .subdevice = PCI_ANY_ID,
1768 .setup = pci_wch_ch353_setup,
1769 },
1770 /* WCH CH353 2S1PF card (16550 clone) */
1771 {
1772 .vendor = PCI_VENDOR_ID_WCH,
1773 .device = PCI_DEVICE_ID_WCH_CH353_2S1PF,
1774 .subvendor = PCI_ANY_ID,
1775 .subdevice = PCI_ANY_ID,
1756 .setup = pci_wch_ch353_setup, 1776 .setup = pci_wch_ch353_setup,
1757 }, 1777 },
1758 /* 1778 /*
@@ -4218,6 +4238,19 @@ static struct pci_device_id serial_pci_tbl[] = {
4218 { PCI_VENDOR_ID_AGESTAR, PCI_DEVICE_ID_AGESTAR_9375, 4238 { PCI_VENDOR_ID_AGESTAR, PCI_DEVICE_ID_AGESTAR_9375,
4219 PCI_ANY_ID, PCI_ANY_ID, 4239 PCI_ANY_ID, PCI_ANY_ID,
4220 0, 0, pbn_b0_bt_2_115200 }, 4240 0, 0, pbn_b0_bt_2_115200 },
4241
4242 /*
4243 * WCH CH353 series devices: The 2S1P is handled by parport_serial
4244 * so not listed here.
4245 */
4246 { PCI_VENDOR_ID_WCH, PCI_DEVICE_ID_WCH_CH353_4S,
4247 PCI_ANY_ID, PCI_ANY_ID,
4248 0, 0, pbn_b0_bt_4_115200 },
4249
4250 { PCI_VENDOR_ID_WCH, PCI_DEVICE_ID_WCH_CH353_2S1PF,
4251 PCI_ANY_ID, PCI_ANY_ID,
4252 0, 0, pbn_b0_bt_2_115200 },
4253
4221 /* 4254 /*
4222 * These entries match devices with class COMMUNICATION_SERIAL, 4255 * These entries match devices with class COMMUNICATION_SERIAL,
4223 * COMMUNICATION_MODEM or COMMUNICATION_MULTISERIAL 4256 * COMMUNICATION_MODEM or COMMUNICATION_MULTISERIAL