diff mbox series

[v2,5/5] i2c: designware: Allow slave mode for PCI enumerated devices

Message ID 20200425134448.28514-5-andriy.shevchenko@linux.intel.com
State Accepted
Commit 7943f1d178833518aa5d25249f8e88068517bac8
Headers show
Series [v2,1/5] i2c: designware: Use devm_platform_ioremap_resource() to simplify code | expand

Commit Message

Andy Shevchenko April 25, 2020, 1:44 p.m. UTC
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>
---
v2: new patch
 drivers/i2c/busses/Kconfig                 | 21 ++++++++++-----------
 drivers/i2c/busses/i2c-designware-pcidrv.c |  4 ++--
 2 files changed, 12 insertions(+), 13 deletions(-)
diff mbox series

Patch

diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index 70a561bff74a6..b1ad26269cc63 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -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
diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c
index 7e994f366a5e8..c762e5a11e44e 100644
--- a/drivers/i2c/busses/i2c-designware-pcidrv.c
+++ b/drivers/i2c/busses/i2c-designware-pcidrv.c
@@ -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;