serial: 8250_dw: Switch to use acpi_dev_present()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 1 Mar 2018 11:41:29 +0000 (13:41 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Mar 2018 18:24:38 +0000 (10:24 -0800)
Special settings for APMC0D08 are applied when device is present
in the system. To check its presence we may use acpi_dev_present()
instead of current open coded variant.

Cc: Feng Kan <fkan@apm.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_dw.c

index 41618b7801465a915bf4ae4a61be6261f3e42344..6fcdb90f616a75a5296cd8447dcce889a771d5ae 100644 (file)
@@ -357,17 +357,11 @@ static void dw8250_quirks(struct uart_port *p, struct dw8250_data *data)
                        p->serial_in = dw8250_serial_in32be;
                        p->serial_out = dw8250_serial_out32be;
                }
-       } else if (has_acpi_companion(p->dev)) {
-               const struct acpi_device_id *id;
-
-               id = acpi_match_device(p->dev->driver->acpi_match_table,
-                                      p->dev);
-               if (id && !strcmp(id->id, "APMC0D08")) {
-                       p->iotype = UPIO_MEM32;
-                       p->regshift = 2;
-                       p->serial_in = dw8250_serial_in32;
-                       data->uart_16550_compatible = true;
-               }
+       } else if (acpi_dev_present("APMC0D08", NULL, -1)) {
+               p->iotype = UPIO_MEM32;
+               p->regshift = 2;
+               p->serial_in = dw8250_serial_in32;
+               data->uart_16550_compatible = true;
        }
 
        /* Platforms with iDMA */