]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
serial: 8250_exar: add support for Advantech 2 port card with Device ID 0x0018
authorFlorian Eckert <fe@dev.tdt.de>
Wed, 24 Sep 2025 13:41:15 +0000 (15:41 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Oct 2025 13:10:31 +0000 (14:10 +0100)
commit e7cbce761fe3fcbcb49bcf30d4f8ca5e1a9ee2a0 upstream.

The Advantech 2-port serial card with PCI vendor=0x13fe and device=0x0018
has a 'XR17V35X' chip installed on the circuit board. Therefore, this
driver can be used instead of theu outdated out-of-tree driver from the
manufacturer.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Cc: stable <stable@kernel.org>
Link: https://patch.msgid.link/20250924134115.2667650-1-fe@dev.tdt.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_exar.c

index 04a0cbab02c253938c0bd392a5630166defa676b..b9cc0b786ca62d8e4fd5ebdbd571bbf606bf6899 100644 (file)
@@ -40,6 +40,8 @@
 #define PCI_DEVICE_ID_ACCESSIO_COM_4SM         0x10db
 #define PCI_DEVICE_ID_ACCESSIO_COM_8SM         0x10ea
 
+#define PCI_DEVICE_ID_ADVANTECH_XR17V352       0x0018
+
 #define PCI_DEVICE_ID_COMMTECH_4224PCI335      0x0002
 #define PCI_DEVICE_ID_COMMTECH_4222PCI335      0x0004
 #define PCI_DEVICE_ID_COMMTECH_2324PCI335      0x000a
@@ -1622,6 +1624,12 @@ static const struct exar8250_board pbn_fastcom35x_8 = {
        .exit           = pci_xr17v35x_exit,
 };
 
+static const struct exar8250_board pbn_adv_XR17V352 = {
+       .num_ports      = 2,
+       .setup          = pci_xr17v35x_setup,
+       .exit           = pci_xr17v35x_exit,
+};
+
 static const struct exar8250_board pbn_exar_XR17V4358 = {
        .num_ports      = 12,
        .setup          = pci_xr17v35x_setup,
@@ -1696,6 +1704,9 @@ static const struct pci_device_id exar_pci_tbl[] = {
        USR_DEVICE(XR17C152, 2980, pbn_exar_XR17C15x),
        USR_DEVICE(XR17C152, 2981, pbn_exar_XR17C15x),
 
+       /* ADVANTECH devices */
+       EXAR_DEVICE(ADVANTECH, XR17V352, pbn_adv_XR17V352),
+
        /* Exar Corp. XR17C15[248] Dual/Quad/Octal UART */
        EXAR_DEVICE(EXAR, XR17C152, pbn_exar_XR17C15x),
        EXAR_DEVICE(EXAR, XR17C154, pbn_exar_XR17C15x),