On Tue, May 17, 2016 at 05:31:41PM +0400, Александр Петренко wrote: > Adds support for the WCH CH355 4S card in the 8250 serial driver. > Developer's Certificate of Origin 1.1 > By making a contribution to this project, I certify that: > (a) The contribution was created in whole or in part by me and I > have the right to submit it under the open source license > indicated in the file; or > (b) The contribution is based upon previous work that, to the best > of my knowledge, is covered under an appropriate open source > license and I have the right under that license to submit that > work with modifications, whether created in whole or in part > by me, under the same open source license (unless I am > permitted to submit under a different license), as indicated > in the file; or > (c) The contribution was provided directly to me by some other > person who certified (a), (b) or (c) and I have not modified > it. > (d) I understand and agree that this project and the contribution > are public and that a record of the contribution (including all > personal information I submit with it, including my sign-off) is > maintained indefinitely and may be redistributed consistent with > this project or the open source license(s) involved. > Signed-off-by: Alexandr Petrenko <petrenkoas83@xxxxxxxxx> > --- > --- drivers/tty/serial/8250/8250_pci.c.orig 2016-05-17 > 15:39:19.504426878 +0300 > +++ drivers/tty/serial/8250/8250_pci.c 2016-05-17 15:39:35.976985841 +0300 > @@ -1850,6 +1850,16 @@ pci_wch_ch353_setup(struct serial_privat > } > > static int > +pci_wch_ch355_setup(struct serial_private *priv, > + const struct pciserial_board *board, > + struct uart_8250_port *port, int idx) > +{ > + port->port.flags |= UPF_FIXED_TYPE; > + port->port.type = PORT_16550A; > + return pci_default_setup(priv, board, port, idx); > +} > + > +static int > pci_wch_ch38x_setup(struct serial_private *priv, > const struct pciserial_board *board, > struct uart_8250_port *port, int idx) > @@ -1900,6 +1910,7 @@ pci_wch_ch38x_setup(struct serial_privat > #define PCI_DEVICE_ID_WCH_CH353_2S1PF 0x5046 > #define PCI_DEVICE_ID_WCH_CH353_1S1P 0x5053 > #define PCI_DEVICE_ID_WCH_CH353_2S1P 0x7053 > +#define PCI_DEVICE_ID_WCH_CH355_4S 0x7173 > #define PCI_VENDOR_ID_AGESTAR 0x5372 > #define PCI_DEVICE_ID_AGESTAR_9375 0x6872 > #define PCI_VENDOR_ID_ASIX 0x9710 > @@ -2603,6 +2614,14 @@ static struct pci_serial_quirk pci_seria > .subdevice = PCI_ANY_ID, > .setup = pci_wch_ch353_setup, > }, > + /* WCH CH355 4S card (16550 clone) */ > + { > + .vendor = PCI_VENDOR_ID_WCH, > + .device = PCI_DEVICE_ID_WCH_CH355_4S, > + .subvendor = PCI_ANY_ID, > + .subdevice = PCI_ANY_ID, > + .setup = pci_wch_ch355_setup, > + }, > /* WCH CH382 2S card (16850 clone) */ > { > .vendor = PCIE_VENDOR_ID_WCH, > @@ -3797,6 +3816,7 @@ static const struct pci_device_id blackl > /* multi-io cards handled by parport_serial */ > { PCI_DEVICE(0x4348, 0x7053), }, /* WCH CH353 2S1P */ > { PCI_DEVICE(0x4348, 0x5053), }, /* WCH CH353 1S1P */ > + { PCI_DEVICE(0x4348, 0x7173), }, /* WCH CH355 4S */ > { PCI_DEVICE(0x1c00, 0x3250), }, /* WCH CH382 2S1P */ > { PCI_DEVICE(0x1c00, 0x3470), }, /* WCH CH384 4S */ > > @@ -5552,6 +5572,10 @@ static struct pci_device_id serial_pci_t > PCI_ANY_ID, PCI_ANY_ID, > 0, 0, pbn_b0_bt_2_115200 }, > > + { PCI_VENDOR_ID_WCH, PCI_DEVICE_ID_WCH_CH355_4S, > + PCI_ANY_ID, PCI_ANY_ID, > + 0, 0, pbn_b0_bt_4_115200 }, > + > { PCIE_VENDOR_ID_WCH, PCIE_DEVICE_ID_WCH_CH382_2S, > PCI_ANY_ID, PCI_ANY_ID, > 0, 0, pbn_wch382_2 }, Also, all of your tabs were turned to spaces, making applying this patch impossible :( -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html