i2c: i801: Do not create iTCO watchdog when WDAT table exists
authorMika Westerberg <mika.westerberg@linux.intel.com>
Tue, 20 Sep 2016 12:30:53 +0000 (15:30 +0300)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 28 Sep 2016 21:08:08 +0000 (23:08 +0200)
ACPI WDAT table is the preferred way to use hardware watchdog over the
native iTCO_wdt. Windows only uses this table for its hardware watchdog
implementation so we should be relatively safe to trust it has been
validated by OEMs

Prevent iTCO watchdog creation if we detect that there is ACPI WDAT table.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/i2c/busses/i2c-i801.c

index 5ef9b733d153fae8997ecf4058b3e82b31c4c95f..26298af73232e417a40788206b0fef5fa5a37cd1 100644 (file)
@@ -1486,7 +1486,9 @@ static int i801_probe(struct pci_dev *dev, const struct pci_device_id *id)
                priv->features |= FEATURE_IRQ;
                priv->features |= FEATURE_SMBUS_PEC;
                priv->features |= FEATURE_BLOCK_BUFFER;
-               priv->features |= FEATURE_TCO;
+               /* If we have ACPI based watchdog use that instead */
+               if (!acpi_has_watchdog())
+                       priv->features |= FEATURE_TCO;
                priv->features |= FEATURE_HOST_NOTIFY;
                break;