Skip to content

Commit

Permalink
i2c: designware: Allow slave mode for PCI enumerated devices
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Andy Shevchenko authored and Wolfram Sang committed May 13, 2020
1 parent bed20c8 commit 7943f1d
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 13 deletions.
21 changes: 10 additions & 11 deletions drivers/i2c/busses/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
4 changes: 2 additions & 2 deletions drivers/i2c/busses/i2c-designware-pcidrv.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand Down

0 comments on commit 7943f1d

Please sign in to comment.