linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Revert "serial/8250: Add support for NI-Serial PXI/PXIe+485 devices"
@ 2019-11-27  3:17 Je Yen Tam
  2019-11-27  6:59 ` Greg KH
  0 siblings, 1 reply; 4+ messages in thread
From: Je Yen Tam @ 2019-11-27  3:17 UTC (permalink / raw)
  To: gregkh; +Cc: linux-serial, linux-kernel, Je Yen Tam

This reverts commit fdc2de87124f5183a98ea7eced1f76dbdba22951 which is
commit 225607f75454 ("serial/8250: Add support for NI-Serial PXI/PXIe+485 devices").

The upstream introduced a breakage on NI-Serial PXI(e)-RS485 devices,
RS-232 variants have no issue. The Linux system can enumerate the Serial
PXI(e)-RS485 devices, but it broke the R/W operation on the ports.

However, the implementation is working on the NI internal Linux RT kernel
but it does not work in the Linux main tree kernel. This is only affecting
NI products, specifically the RS-485 variants. Reverting the upstream
until a proper implementation that can apply to both NI internal Linux
kernel and Linux mainline kernel is figured out.

Signed-off-by: Je Yen Tam <je.yen.tam@ni.com>
---
 drivers/tty/serial/8250/8250_pci.c | 292 +----------------------------
 1 file changed, 4 insertions(+), 288 deletions(-)

diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
index 6adbadd6a56a..8a01d034f9d1 100644
--- a/drivers/tty/serial/8250/8250_pci.c
+++ b/drivers/tty/serial/8250/8250_pci.c
@@ -745,16 +745,8 @@ static int pci_ni8430_init(struct pci_dev *dev)
 }
 
 /* UART Port Control Register */
-#define NI16550_PCR_OFFSET	0x0f
-#define NI16550_PCR_RS422	0x00
-#define NI16550_PCR_ECHO_RS485	0x01
-#define NI16550_PCR_DTR_RS485	0x02
-#define NI16550_PCR_AUTO_RS485	0x03
-#define NI16550_PCR_WIRE_MODE_MASK	0x03
-#define NI16550_PCR_TXVR_ENABLE_BIT	BIT(3)
-#define NI16550_PCR_RS485_TERMINATION_BIT	BIT(6)
-#define NI16550_ACR_DTR_AUTO_DTR	(0x2 << 3)
-#define NI16550_ACR_DTR_MANUAL_DTR	(0x0 << 3)
+#define NI8430_PORTCON	0x0f
+#define NI8430_PORTCON_TXVR_ENABLE	(1 << 3)
 
 static int
 pci_ni8430_setup(struct serial_private *priv,
@@ -776,117 +768,14 @@ pci_ni8430_setup(struct serial_private *priv,
 		return -ENOMEM;
 
 	/* enable the transceiver */
-	writeb(readb(p + offset + NI16550_PCR_OFFSET) | NI16550_PCR_TXVR_ENABLE_BIT,
-	       p + offset + NI16550_PCR_OFFSET);
+	writeb(readb(p + offset + NI8430_PORTCON) | NI8430_PORTCON_TXVR_ENABLE,
+	       p + offset + NI8430_PORTCON);
 
 	iounmap(p);
 
 	return setup_port(priv, port, bar, offset, board->reg_shift);
 }
 
-static int pci_ni8431_config_rs485(struct uart_port *port,
-	struct serial_rs485 *rs485)
-{
-	u8 pcr, acr;
-	struct uart_8250_port *up;
-
-	up = container_of(port, struct uart_8250_port, port);
-	acr = up->acr;
-	pcr = port->serial_in(port, NI16550_PCR_OFFSET);
-	pcr &= ~NI16550_PCR_WIRE_MODE_MASK;
-
-	if (rs485->flags & SER_RS485_ENABLED) {
-		/* RS-485 */
-		if ((rs485->flags & SER_RS485_RX_DURING_TX) &&
-			(rs485->flags & SER_RS485_RTS_ON_SEND)) {
-			dev_dbg(port->dev, "Invalid 2-wire mode\n");
-			return -EINVAL;
-		}
-
-		if (rs485->flags & SER_RS485_RX_DURING_TX) {
-			/* Echo */
-			dev_vdbg(port->dev, "2-wire DTR with echo\n");
-			pcr |= NI16550_PCR_ECHO_RS485;
-			acr |= NI16550_ACR_DTR_MANUAL_DTR;
-		} else {
-			/* Auto or DTR */
-			if (rs485->flags & SER_RS485_RTS_ON_SEND) {
-				/* Auto */
-				dev_vdbg(port->dev, "2-wire Auto\n");
-				pcr |= NI16550_PCR_AUTO_RS485;
-				acr |= NI16550_ACR_DTR_AUTO_DTR;
-			} else {
-				/* DTR-controlled */
-				/* No Echo */
-				dev_vdbg(port->dev, "2-wire DTR no echo\n");
-				pcr |= NI16550_PCR_DTR_RS485;
-				acr |= NI16550_ACR_DTR_MANUAL_DTR;
-			}
-		}
-	} else {
-		/* RS-422 */
-		dev_vdbg(port->dev, "4-wire\n");
-		pcr |= NI16550_PCR_RS422;
-		acr |= NI16550_ACR_DTR_MANUAL_DTR;
-	}
-
-	dev_dbg(port->dev, "write pcr: 0x%08x\n", pcr);
-	port->serial_out(port, NI16550_PCR_OFFSET, pcr);
-
-	up->acr = acr;
-	port->serial_out(port, UART_SCR, UART_ACR);
-	port->serial_out(port, UART_ICR, up->acr);
-
-	/* Update the cache. */
-	port->rs485 = *rs485;
-
-	return 0;
-}
-
-static int pci_ni8431_setup(struct serial_private *priv,
-		 const struct pciserial_board *board,
-		 struct uart_8250_port *uart, int idx)
-{
-	u8 pcr, acr;
-	struct pci_dev *dev = priv->dev;
-	void __iomem *addr;
-	unsigned int bar, offset = board->first_offset;
-
-	if (idx >= board->num_ports)
-		return 1;
-
-	bar = FL_GET_BASE(board->flags);
-	offset += idx * board->uart_offset;
-
-	addr = pci_ioremap_bar(dev, bar);
-	if (!addr)
-		return -ENOMEM;
-
-	/* enable the transceiver */
-	writeb(readb(addr + NI16550_PCR_OFFSET) | NI16550_PCR_TXVR_ENABLE_BIT,
-		addr + NI16550_PCR_OFFSET);
-
-	pcr = readb(addr + NI16550_PCR_OFFSET);
-	pcr &= ~NI16550_PCR_WIRE_MODE_MASK;
-
-	/* set wire mode to default RS-422 */
-	pcr |= NI16550_PCR_RS422;
-	acr = NI16550_ACR_DTR_MANUAL_DTR;
-
-	/* write port configuration to register */
-	writeb(pcr, addr + NI16550_PCR_OFFSET);
-
-	/* access and write to UART acr register */
-	writeb(UART_ACR, addr + UART_SCR);
-	writeb(acr, addr + UART_ICR);
-
-	uart->port.rs485_config = &pci_ni8431_config_rs485;
-
-	iounmap(addr);
-
-	return setup_port(priv, uart, bar, offset, board->reg_shift);
-}
-
 static int pci_netmos_9900_setup(struct serial_private *priv,
 				const struct pciserial_board *board,
 				struct uart_8250_port *port, int idx)
@@ -2023,15 +1912,6 @@ pci_moxa_setup(struct serial_private *priv,
 #define PCI_DEVICE_ID_ACCESIO_PCIE_COM_8SM	0x10E9
 #define PCI_DEVICE_ID_ACCESIO_PCIE_ICM_4SM	0x11D8
 
-#define PCIE_DEVICE_ID_NI_PXIE8430_2328	0x74C2
-#define PCIE_DEVICE_ID_NI_PXIE8430_23216	0x74C1
-#define PCI_DEVICE_ID_NI_PXI8431_4852	0x7081
-#define PCI_DEVICE_ID_NI_PXI8431_4854	0x70DE
-#define PCI_DEVICE_ID_NI_PXI8431_4858	0x70E3
-#define PCI_DEVICE_ID_NI_PXI8433_4852	0x70E9
-#define PCI_DEVICE_ID_NI_PXI8433_4854	0x70ED
-#define PCIE_DEVICE_ID_NI_PXIE8431_4858	0x74C4
-#define PCIE_DEVICE_ID_NI_PXIE8431_48516	0x74C3
 
 #define	PCI_DEVICE_ID_MOXA_CP102E	0x1024
 #define	PCI_DEVICE_ID_MOXA_CP102EL	0x1025
@@ -2269,87 +2149,6 @@ static struct pci_serial_quirk pci_serial_quirks[] __refdata = {
 		.setup		= pci_ni8430_setup,
 		.exit		= pci_ni8430_exit,
 	},
-	{
-		.vendor		= PCI_VENDOR_ID_NI,
-		.device		= PCIE_DEVICE_ID_NI_PXIE8430_2328,
-		.subvendor	= PCI_ANY_ID,
-		.subdevice	= PCI_ANY_ID,
-		.init		= pci_ni8430_init,
-		.setup		= pci_ni8430_setup,
-		.exit		= pci_ni8430_exit,
-	},
-	{
-		.vendor		= PCI_VENDOR_ID_NI,
-		.device		= PCIE_DEVICE_ID_NI_PXIE8430_23216,
-		.subvendor	= PCI_ANY_ID,
-		.subdevice	= PCI_ANY_ID,
-		.init		= pci_ni8430_init,
-		.setup		= pci_ni8430_setup,
-		.exit		= pci_ni8430_exit,
-	},
-	{
-		.vendor		= PCI_VENDOR_ID_NI,
-		.device		= PCI_DEVICE_ID_NI_PXI8431_4852,
-		.subvendor	= PCI_ANY_ID,
-		.subdevice	= PCI_ANY_ID,
-		.init		= pci_ni8430_init,
-		.setup		= pci_ni8431_setup,
-		.exit		= pci_ni8430_exit,
-	},
-	{
-		.vendor		= PCI_VENDOR_ID_NI,
-		.device		= PCI_DEVICE_ID_NI_PXI8431_4854,
-		.subvendor	= PCI_ANY_ID,
-		.subdevice	= PCI_ANY_ID,
-		.init		= pci_ni8430_init,
-		.setup		= pci_ni8431_setup,
-		.exit		= pci_ni8430_exit,
-	},
-	{
-		.vendor		= PCI_VENDOR_ID_NI,
-		.device		= PCI_DEVICE_ID_NI_PXI8431_4858,
-		.subvendor	= PCI_ANY_ID,
-		.subdevice	= PCI_ANY_ID,
-		.init		= pci_ni8430_init,
-		.setup		= pci_ni8431_setup,
-		.exit		= pci_ni8430_exit,
-	},
-	{
-		.vendor		= PCI_VENDOR_ID_NI,
-		.device		= PCI_DEVICE_ID_NI_PXI8433_4852,
-		.subvendor	= PCI_ANY_ID,
-		.subdevice	= PCI_ANY_ID,
-		.init		= pci_ni8430_init,
-		.setup		= pci_ni8431_setup,
-		.exit		= pci_ni8430_exit,
-	},
-	{
-		.vendor		= PCI_VENDOR_ID_NI,
-		.device		= PCI_DEVICE_ID_NI_PXI8433_4854,
-		.subvendor	= PCI_ANY_ID,
-		.subdevice	= PCI_ANY_ID,
-		.init		= pci_ni8430_init,
-		.setup		= pci_ni8431_setup,
-		.exit		= pci_ni8430_exit,
-	},
-	{
-		.vendor		= PCI_VENDOR_ID_NI,
-		.device		= PCIE_DEVICE_ID_NI_PXIE8431_4858,
-		.subvendor	= PCI_ANY_ID,
-		.subdevice	= PCI_ANY_ID,
-		.init		= pci_ni8430_init,
-		.setup		= pci_ni8431_setup,
-		.exit		= pci_ni8430_exit,
-	},
-	{
-		.vendor		= PCI_VENDOR_ID_NI,
-		.device		= PCIE_DEVICE_ID_NI_PXIE8431_48516,
-		.subvendor	= PCI_ANY_ID,
-		.subdevice	= PCI_ANY_ID,
-		.init		= pci_ni8430_init,
-		.setup		= pci_ni8431_setup,
-		.exit		= pci_ni8430_exit,
-	},
 	/* Quatech */
 	{
 		.vendor		= PCI_VENDOR_ID_QUATECH,
@@ -3106,13 +2905,6 @@ enum pci_board_num_t {
 	pbn_ni8430_4,
 	pbn_ni8430_8,
 	pbn_ni8430_16,
-	pbn_ni8430_pxie_8,
-	pbn_ni8430_pxie_16,
-	pbn_ni8431_2,
-	pbn_ni8431_4,
-	pbn_ni8431_8,
-	pbn_ni8431_pxie_8,
-	pbn_ni8431_pxie_16,
 	pbn_ADDIDATA_PCIe_1_3906250,
 	pbn_ADDIDATA_PCIe_2_3906250,
 	pbn_ADDIDATA_PCIe_4_3906250,
@@ -3765,55 +3557,6 @@ static struct pciserial_board pci_boards[] = {
 		.uart_offset	= 0x10,
 		.first_offset	= 0x800,
 	},
-	[pbn_ni8430_pxie_16] = {
-		.flags		= FL_BASE0,
-		.num_ports	= 16,
-		.base_baud	= 3125000,
-		.uart_offset	= 0x10,
-		.first_offset	= 0x800,
-	},
-	[pbn_ni8430_pxie_8] = {
-		.flags		= FL_BASE0,
-		.num_ports	= 8,
-		.base_baud	= 3125000,
-		.uart_offset	= 0x10,
-		.first_offset	= 0x800,
-	},
-	[pbn_ni8431_8] = {
-		.flags		= FL_BASE0,
-		.num_ports	= 8,
-		.base_baud	= 3686400,
-		.uart_offset	= 0x10,
-		.first_offset	= 0x800,
-	},
-	[pbn_ni8431_4] = {
-		.flags		= FL_BASE0,
-		.num_ports	= 4,
-		.base_baud	= 3686400,
-		.uart_offset	= 0x10,
-		.first_offset	= 0x800,
-	},
-	[pbn_ni8431_2] = {
-		.flags		= FL_BASE0,
-		.num_ports	= 2,
-		.base_baud	= 3686400,
-		.uart_offset	= 0x10,
-		.first_offset	= 0x800,
-	},
-	[pbn_ni8431_pxie_16] = {
-		.flags		= FL_BASE0,
-		.num_ports	= 16,
-		.base_baud	= 3125000,
-		.uart_offset	= 0x10,
-		.first_offset	= 0x800,
-	},
-	[pbn_ni8431_pxie_8] = {
-		.flags		= FL_BASE0,
-		.num_ports	= 8,
-		.base_baud	= 3125000,
-		.uart_offset	= 0x10,
-		.first_offset	= 0x800,
-	},
 	/*
 	 * ADDI-DATA GmbH PCI-Express communication cards <info@addi-data.com>
 	 */
@@ -5567,33 +5310,6 @@ static const struct pci_device_id serial_pci_tbl[] = {
 	{	PCI_VENDOR_ID_NI, PCI_DEVICE_ID_NI_PCI8432_2324,
 		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
 		pbn_ni8430_4 },
-	{	PCI_VENDOR_ID_NI, PCIE_DEVICE_ID_NI_PXIE8430_2328,
-		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-		pbn_ni8430_pxie_8 },
-	{	PCI_VENDOR_ID_NI, PCIE_DEVICE_ID_NI_PXIE8430_23216,
-		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-		pbn_ni8430_pxie_16 },
-	{	PCI_VENDOR_ID_NI, PCI_DEVICE_ID_NI_PXI8431_4852,
-		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-		pbn_ni8431_2 },
-	{	PCI_VENDOR_ID_NI, PCI_DEVICE_ID_NI_PXI8431_4854,
-		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-		pbn_ni8431_4 },
-	{	PCI_VENDOR_ID_NI, PCI_DEVICE_ID_NI_PXI8431_4858,
-		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-		pbn_ni8431_8 },
-	{	PCI_VENDOR_ID_NI, PCIE_DEVICE_ID_NI_PXIE8431_4858,
-		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-		pbn_ni8431_pxie_8 },
-	{	PCI_VENDOR_ID_NI, PCIE_DEVICE_ID_NI_PXIE8431_48516,
-		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-		pbn_ni8431_pxie_16 },
-	{	PCI_VENDOR_ID_NI, PCI_DEVICE_ID_NI_PXI8433_4852,
-		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-		pbn_ni8431_2 },
-	{	PCI_VENDOR_ID_NI, PCI_DEVICE_ID_NI_PXI8433_4854,
-		PCI_ANY_ID, PCI_ANY_ID, 0, 0,
-		pbn_ni8431_4 },
 
 	/*
 	 * MOXA
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] Revert "serial/8250: Add support for NI-Serial PXI/PXIe+485 devices"
  2019-11-27  3:17 [PATCH] Revert "serial/8250: Add support for NI-Serial PXI/PXIe+485 devices" Je Yen Tam
@ 2019-11-27  6:59 ` Greg KH
  2019-11-27  7:23   ` Je Yen Tam
  0 siblings, 1 reply; 4+ messages in thread
From: Greg KH @ 2019-11-27  6:59 UTC (permalink / raw)
  To: Je Yen Tam; +Cc: linux-serial, linux-kernel

On Wed, Nov 27, 2019 at 11:17:51AM +0800, Je Yen Tam wrote:
> This reverts commit fdc2de87124f5183a98ea7eced1f76dbdba22951 which is
> commit 225607f75454 ("serial/8250: Add support for NI-Serial PXI/PXIe+485 devices").

That sentance does not make sense.  fdc2de87124f ("serial/8250: Add
support for NI-Serial PXI/PXIe+485 devices") is in the 5.4 kernel tree,
where did the commit id "225607f75454" come from?  I don't see it
anywhere in Linus's tree.

> The upstream introduced a breakage on NI-Serial PXI(e)-RS485 devices,
> RS-232 variants have no issue. The Linux system can enumerate the Serial
> PXI(e)-RS485 devices, but it broke the R/W operation on the ports.

I can not parse this paragraph either, what do you mean by "The
upstream"?

> However, the implementation is working on the NI internal Linux RT kernel
> but it does not work in the Linux main tree kernel. This is only affecting
> NI products, specifically the RS-485 variants. Reverting the upstream
> until a proper implementation that can apply to both NI internal Linux
> kernel and Linux mainline kernel is figured out.

So this patch really does not work at all?  Can't you just find a simple
fix to go on top of it to resolve the issue?  You really want it all
ripped out for 5.5 and 5.4.y?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: Re: [PATCH] Revert "serial/8250: Add support for NI-Serial PXI/PXIe+485 devices"
  2019-11-27  6:59 ` Greg KH
@ 2019-11-27  7:23   ` Je Yen Tam
  2019-11-27  7:43     ` Greg KH
  0 siblings, 1 reply; 4+ messages in thread
From: Je Yen Tam @ 2019-11-27  7:23 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-serial, linux-kernel

> Subject: [EXTERNAL] Re: [PATCH] Revert "serial/8250: Add support for NI-Serial
> PXI/PXIe+485 devices"
> 
> On Wed, Nov 27, 2019 at 11:17:51AM +0800, Je Yen Tam wrote:
> > This reverts commit fdc2de87124f5183a98ea7eced1f76dbdba22951 which is
> > commit 225607f75454 ("serial/8250: Add support for NI-Serial PXI/PXIe+485
> devices").
> 
> That sentance does not make sense.  fdc2de87124f ("serial/8250: Add support for
> NI-Serial PXI/PXIe+485 devices") is in the 5.4 kernel tree, where did the commit id
> "225607f75454" come from?  I don't see it anywhere in Linus's tree.

Overlooked the commit 225607f75454 which only visible to my own branch, will 
remove it, sorry for the confusion.

> > The upstream introduced a breakage on NI-Serial PXI(e)-RS485 devices,
> > RS-232 variants have no issue. The Linux system can enumerate the
> > Serial
> > PXI(e)-RS485 devices, but it broke the R/W operation on the ports.
> 
> I can not parse this paragraph either, what do you mean by "The upstream"?

"The upstream" actually means the commit fdc2de87124f. To be more specific, will
rephrase it to "The commit fdc2de87124f".

> > However, the implementation is working on the NI internal Linux RT
> > kernel but it does not work in the Linux main tree kernel. This is
> > only affecting NI products, specifically the RS-485 variants.
> > Reverting the upstream until a proper implementation that can apply to
> > both NI internal Linux kernel and Linux mainline kernel is figured out.
> 
> So this patch really does not work at all?  Can't you just find a simple fix to go on top
> of it to resolve the issue?  You really want it all ripped out for 5.5 and 5.4.y?

It does work in NI Linux kernel but not in generic Linux kernel from the main tree, NI's
Serial team's decision is to have a cleaner implementation so decided to rip out all of it
for 5.5 and 5.4.y to prevent unexpected breakage.

> thanks,
> 
> greg k-h

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Re: [PATCH] Revert "serial/8250: Add support for NI-Serial PXI/PXIe+485 devices"
  2019-11-27  7:23   ` Je Yen Tam
@ 2019-11-27  7:43     ` Greg KH
  0 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2019-11-27  7:43 UTC (permalink / raw)
  To: Je Yen Tam; +Cc: linux-serial, linux-kernel

On Wed, Nov 27, 2019 at 07:23:39AM +0000, Je Yen Tam wrote:
> > Subject: [EXTERNAL] Re: [PATCH] Revert "serial/8250: Add support for NI-Serial
> > PXI/PXIe+485 devices"
> > 
> > On Wed, Nov 27, 2019 at 11:17:51AM +0800, Je Yen Tam wrote:
> > > This reverts commit fdc2de87124f5183a98ea7eced1f76dbdba22951 which is
> > > commit 225607f75454 ("serial/8250: Add support for NI-Serial PXI/PXIe+485
> > devices").
> > 
> > That sentance does not make sense.  fdc2de87124f ("serial/8250: Add support for
> > NI-Serial PXI/PXIe+485 devices") is in the 5.4 kernel tree, where did the commit id
> > "225607f75454" come from?  I don't see it anywhere in Linus's tree.
> 
> Overlooked the commit 225607f75454 which only visible to my own branch, will 
> remove it, sorry for the confusion.
> 
> > > The upstream introduced a breakage on NI-Serial PXI(e)-RS485 devices,
> > > RS-232 variants have no issue. The Linux system can enumerate the
> > > Serial
> > > PXI(e)-RS485 devices, but it broke the R/W operation on the ports.
> > 
> > I can not parse this paragraph either, what do you mean by "The upstream"?
> 
> "The upstream" actually means the commit fdc2de87124f. To be more specific, will
> rephrase it to "The commit fdc2de87124f".
> 
> > > However, the implementation is working on the NI internal Linux RT
> > > kernel but it does not work in the Linux main tree kernel. This is
> > > only affecting NI products, specifically the RS-485 variants.
> > > Reverting the upstream until a proper implementation that can apply to
> > > both NI internal Linux kernel and Linux mainline kernel is figured out.
> > 
> > So this patch really does not work at all?  Can't you just find a simple fix to go on top
> > of it to resolve the issue?  You really want it all ripped out for 5.5 and 5.4.y?
> 
> It does work in NI Linux kernel but not in generic Linux kernel from the main tree, NI's
> Serial team's decision is to have a cleaner implementation so decided to rip out all of it
> for 5.5 and 5.4.y to prevent unexpected breakage.

Ok, fair enough, that's your call.  If you resubmit the patch with the
above changes I'll be glad to queue it up.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-11-27  7:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-27  3:17 [PATCH] Revert "serial/8250: Add support for NI-Serial PXI/PXIe+485 devices" Je Yen Tam
2019-11-27  6:59 ` Greg KH
2019-11-27  7:23   ` Je Yen Tam
2019-11-27  7:43     ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).