Thread (29 messages) flat view 29 messages, 3 authors, 2017-05-31

Re: [PATCH v3 10/10] serial: exar: Add support for IOT2040 device

From: Jan Kiszka <jan.kiszka@siemens.com>
Date: 2017-05-28 16:42:04
Also in: linux-gpio, lkml

On 2017-05-27 15:52, Andy Shevchenko wrote:
On Fri, May 26, 2017 at 7:02 PM, Jan Kiszka [off-list ref] wrote:
quoted
This implements the setup of RS232 and the switch-over to RS485 or RS422
for the Siemens IOT2040. That uses an EXAR XR17V352 with external logic
to switch between the different modes. The external logic is controlled
via MPIO pins of the EXAR controller.

Only pin 10 can be exported as GPIO on the IOT2040. It is connected to
an LED.

As the XR17V352 used on the IOT2040 is not equipped with an external
EEPROM, it cannot present itself as IOT2040-variant via subvendor/
subdevice IDs. Thus, we have to check via DMI for the target platform.
quoted
 static void *
-xr17v35x_register_gpio(struct pci_dev *pcidev, unsigned int first_pin,
-                      unsigned int npins)
+__xr17v35x_register_gpio(struct pci_dev *pcidev, unsigned int first_pin,
+                        unsigned int npins)
quoted
+static int xr17v35x_register_gpio(struct pci_dev *pcidev,
+                                 struct uart_8250_port *port)
+{
+       if (pcidev->vendor == PCI_VENDOR_ID_EXAR)
+               port->port.private_data =
+                       __xr17v35x_register_gpio(pcidev, 0, 16);
+
+       return 0;
+}
quoted
-               if (pcidev->vendor == PCI_VENDOR_ID_EXAR)
-                       port->port.private_data =
-                               xr17v35x_register_gpio(pcidev, 0, 16);
+               ret = platform->register_gpio(pcidev, port);
        }
Can't you move at least some of this to the patch where you move the check?
This change is unrelated to that patch.

What I can offer is a separate patch to factor this out, but I'm not
sure it would buy us much.

Jan

-- 
Siemens AG, Corporate Technology, CT RDA ITP SES-DE
Corporate Competence Center Embedded Linux
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help