diff options
author | Alan Cox <alan@linux.intel.com> | 2012-09-04 11:21:06 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-09-05 19:38:40 -0400 |
commit | 27788c5fe6af98c34950326b62778da15e30eb55 (patch) | |
tree | 1dabf1c81c3edd78c45e0e47073671875114b39b /drivers/tty/serial/8250 | |
parent | 9986ffd9032a103df54fa4ed85f8f83f6b215194 (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.c | 41 |
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 |