i2c: designware: Read counters from ACPI for PCI driver
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 19 May 2020 12:50:42 +0000 (15:50 +0300)
committerWolfram Sang <wsa@kernel.org>
Fri, 22 May 2020 14:50:39 +0000 (16:50 +0200)
PCI devices may have been backed with ACPI handle which supplies
an additional information to the drivers, such as counters.

Call for ACPI configuration from PCI driver in order to utilize counters
provided by ACPI.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-designware-pcidrv.c

index c8808e5855b48d5801dd5bdbe1a5e1f3d48e9907..3664d76bb9766a97a91fe8e7b3fcc966236f0571 100644 (file)
@@ -255,6 +255,17 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev,
                }
        }
 
+       i2c_dw_acpi_adjust_bus_speed(&pdev->dev);
+
+       if (has_acpi_companion(&pdev->dev))
+               i2c_dw_acpi_configure(&pdev->dev);
+
+       r = i2c_dw_validate_speed(dev);
+       if (r) {
+               pci_free_irq_vectors(pdev);
+               return r;
+       }
+
        i2c_dw_configure(dev);
 
        if (controller->scl_sda_cfg) {