Bluetooth: hci_bcm: Remove irq-active-low DMI quirk for the Thinkpad 8
authorHans de Goede <hdegoede@redhat.com>
Tue, 3 Apr 2018 15:35:21 +0000 (17:35 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 18 May 2018 04:37:50 +0000 (06:37 +0200)
Interrupts specified through an "Interrupt" ACPI resource (versus through
a "GpioInt" resource) are now always assumed to be active low.

When this change was originally made the Thinkpad 8 quirk was kept around
because it was uncertain if the Thinkpad 8 uses an "Interrupt" or a
"GpioInt" resource.

Bug https://bugzilla.kernel.org/show_bug.cgi?id=196701 has a DSDT for the
Thinkpad 8 attached and it uses an "Interrupt" resource, so the quirk is
not necessary and the quirk, as well as the irq-active-low quirk handling
code can be removed.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/hci_bcm.c

index 4dccb50089d7f322ad3a31f7cf1da9c96ca5953c..04c4b93b4c6f292b878cf078d31b022c2bc582cc 100644 (file)
@@ -809,18 +809,6 @@ static const struct dmi_system_id bcm_broken_irq_dmi_table[] = {
 };
 
 #ifdef CONFIG_ACPI
-/* IRQ polarity of some chipsets are not defined correctly in ACPI table. */
-static const struct dmi_system_id bcm_active_low_irq_dmi_table[] = {
-       {       /* Handle ThinkPad 8 tablets with BCM2E55 chipset ACPI ID */
-               .ident = "Lenovo ThinkPad 8",
-               .matches = {
-                       DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"),
-                       DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "ThinkPad 8"),
-               },
-       },
-       { }
-};
-
 static int bcm_resource(struct acpi_resource *ares, void *data)
 {
        struct bcm_device *dev = data;
@@ -967,7 +955,6 @@ static int bcm_get_resources(struct bcm_device *dev)
 static int bcm_acpi_probe(struct bcm_device *dev)
 {
        LIST_HEAD(resources);
-       const struct dmi_system_id *dmi_id;
        const struct acpi_gpio_mapping *gpio_mapping = acpi_bcm_int_last_gpios;
        struct resource_entry *entry;
        int ret;
@@ -1014,13 +1001,6 @@ static int bcm_acpi_probe(struct bcm_device *dev)
                dev->irq_active_low = irq_polarity;
                dev_warn(dev->dev, "Overwriting IRQ polarity to active %s by module-param\n",
                         dev->irq_active_low ? "low" : "high");
-       } else {
-               dmi_id = dmi_first_match(bcm_active_low_irq_dmi_table);
-               if (dmi_id) {
-                       dev_warn(dev->dev, "%s: Overwriting IRQ polarity to active low",
-                                dmi_id->ident);
-                       dev->irq_active_low = true;
-               }
        }
 
        return 0;