On Tue, Jul 21, 2020 at 04:08:17PM -0400, Matthew Howell wrote: > > From: Matthew Howell <matthew.howell@xxxxxxxxxxxx> > > Sealevel XR17V35X based devices are inoperable on kernel versions > 4.11 and above due to a change in the GPIO preconfiguration introduced in commit > 7dea8165f1d. This patch fixes this by preconfiguring the GPIO on Sealevel > cards to the value (0x00) used prior to commit 7dea8165f1d > > With GPIOs preconfigured as per commit 7dea8165f1d all ports on > Sealevel XR17V35X based devices become stuck in high impedance > mode, regardless of dip-switch or software configuration. This > causes the device to become effectively unusable. This patch (in > various forms) has been distributed to our customers and no issues > related to it have been reported. > > Fixes: 7dea8165f1d ("serial: exar: Preconfigure xr17v35x MPIOs as output") > Signed-off-by: Matthew Howell <matthew.howell@xxxxxxxxxxxx> > > Patch resubmitted as per comments received on > https://www.spinics.net/lists/linux-serial/msg39371.html > > Moved problem description and justification above the signed-off-by > line. > > checkpatch.pl reports no styling issues with the diff below. > > Let me know if I need to make any other changes. You should put a --- line after the signed-off-by line, so these comments do not show up in the changelog. > > --- linux/drivers/tty/serial/8250/8250_exar.c.orig 2020-07-09 11:05:03.920060577 -0400 > +++ linux/drivers/tty/serial/8250/8250_exar.c 2020-07-13 11:54:44.386718167 -0400 > @@ -326,7 +326,20 @@ static void setup_gpio(struct pci_dev *p > * devices will export them as GPIOs, so we pre-configure them safely > * as inputs. > */ > - u8 dir = pcidev->vendor == PCI_VENDOR_ID_EXAR ? 0xff : 0x00; > + > + u8 dir = 0x00; > + > + if ((pcidev->vendor == PCI_VENDOR_ID_EXAR) && > + (pcidev->subsystem_vendor != PCI_VENDOR_ID_SEALEVEL)) > + { > + // Configure GPIO as inputs for Commtech adapters > + dir = 0xff; > + } > + else > + { > + // Configure GPIO as outputs for SeaLevel adapters > + dir = 0x00; > + } > > writeb(0x00, p + UART_EXAR_MPIOINT_7_0); > writeb(0x00, p + UART_EXAR_MPIOLVL_7_0); > Your patch has all tabs turned to spaces, making this impossible to apply. Also, always run your patch through scripts/checkpatch.pl to fix the obvious coding style issues in it before sending it out. v4? :) thanks, greg k-h