i2c: designware: Allow slave mode for PCI enumerated devices
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Sat, 25 Apr 2020 13:44:48 +0000 (16:44 +0300)
committerWolfram Sang <wsa@kernel.org>
Wed, 13 May 2020 10:36:22 +0000 (12:36 +0200)
Allow slave mode for PCI enumerated devices by calling a common i2c_dw_probe()
instead of i2c_dw_probe_master().

While dropping dependency to platform driver in slave module, move its
configuration section above, closer to core.

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/Kconfig
drivers/i2c/busses/i2c-designware-pcidrv.c

index 2f6e39b..6bf68d5 100644 (file)
@@ -527,6 +527,16 @@ config I2C_DAVINCI
 config I2C_DESIGNWARE_CORE
        tristate
 
+config I2C_DESIGNWARE_SLAVE
+       bool "Synopsys DesignWare Slave"
+       select I2C_SLAVE
+       help
+         If you say yes to this option, support will be included for the
+         Synopsys DesignWare I2C slave adapter.
+
+         This is not a standalone module, this module compiles together with
+         i2c-designware-core.
+
 config I2C_DESIGNWARE_PLATFORM
        tristate "Synopsys DesignWare Platform"
        select I2C_DESIGNWARE_CORE
@@ -538,17 +548,6 @@ config I2C_DESIGNWARE_PLATFORM
          This driver can also be built as a module.  If so, the module
          will be called i2c-designware-platform.
 
-config I2C_DESIGNWARE_SLAVE
-       bool "Synopsys DesignWare Slave"
-       select I2C_SLAVE
-       depends on I2C_DESIGNWARE_PLATFORM
-       help
-         If you say yes to this option, support will be included for the
-         Synopsys DesignWare I2C slave adapter.
-
-         This is not a standalone module, this module compiles together with
-         i2c-designware-core.
-
 config I2C_DESIGNWARE_PCI
        tristate "Synopsys DesignWare PCI"
        depends on PCI
index 7e994f3..c762e5a 100644 (file)
@@ -251,7 +251,7 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev,
                }
        }
 
-       i2c_dw_configure_master(dev);
+       i2c_dw_configure(dev);
 
        if (controller->scl_sda_cfg) {
                cfg = controller->scl_sda_cfg;
@@ -271,7 +271,7 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev,
        ACPI_COMPANION_SET(&adap->dev, ACPI_COMPANION(&pdev->dev));
        adap->nr = controller->bus_num;
 
-       r = i2c_dw_probe_master(dev);
+       r = i2c_dw_probe(dev);
        if (r) {
                pci_free_irq_vectors(pdev);
                return r;