serial: 8250_exar: Extract exar_get_platform() helper
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 8 Jun 2021 14:42:38 +0000 (17:42 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Jun 2021 12:42:14 +0000 (14:42 +0200)
We would like to use DMI matching in other functions as well.
Hence, extract it as exar_get_platform() helper function.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20210608144239.12697-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_exar.c

index 2f49c58..9b197da 100644 (file)
@@ -501,23 +501,27 @@ static const struct dmi_system_id exar_platforms[] = {
        {}
 };
 
+static const struct exar8250_platform *exar_get_platform(void)
+{
+       const struct dmi_system_id *dmi_match;
+
+       dmi_match = dmi_first_match(exar_platforms);
+       if (dmi_match)
+               return dmi_match->driver_data;
+
+       return &exar8250_default_platform;
+}
+
 static int
 pci_xr17v35x_setup(struct exar8250 *priv, struct pci_dev *pcidev,
                   struct uart_8250_port *port, int idx)
 {
-       const struct exar8250_platform *platform;
-       const struct dmi_system_id *dmi_match;
+       const struct exar8250_platform *platform = exar_get_platform();
        unsigned int offset = idx * 0x400;
        unsigned int baud = 7812500;
        u8 __iomem *p;
        int ret;
 
-       dmi_match = dmi_first_match(exar_platforms);
-       if (dmi_match)
-               platform = dmi_match->driver_data;
-       else
-               platform = &exar8250_default_platform;
-
        port->port.uartclk = baud * 16;
        port->port.rs485_config = platform->rs485_config;