diff options
author | Jarkko Nikula <jarkko.nikula@linux.intel.com> | 2017-06-28 17:23:29 +0300 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2017-07-04 16:12:45 +0200 |
commit | 6e38cf3b442120a84e69faf1ac9a7b4cd79d1ad6 (patch) | |
tree | 6e4c2aafa0fb2354929d2366459348958c88b881 /drivers/i2c | |
parent | 21bf440ce18e49b24601c3d1d25f691ef0334c4b (diff) | |
download | linux-stable-6e38cf3b442120a84e69faf1ac9a7b4cd79d1ad6.tar.gz linux-stable-6e38cf3b442120a84e69faf1ac9a7b4cd79d1ad6.tar.bz2 linux-stable-6e38cf3b442120a84e69faf1ac9a7b4cd79d1ad6.zip |
i2c: designware: Let slave adapter support be optional
Only certain system configurations may use the I2C slave mode so let the
support be optional. This allow reducing module size if needed:
text data bss dec hex filename
10328 1336 16 11680 2da0 drivers/i2c/busses/i2c-designware-core.ko
7222 1136 8 8366 20ae drivers/i2c/busses/i2c-designware-core.ko
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Luis Oliveira <lolivei@synopsys.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'drivers/i2c')
-rw-r--r-- | drivers/i2c/busses/Kconfig | 1 | ||||
-rw-r--r-- | drivers/i2c/busses/i2c-designware-core.h | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig index c98c8e51c448..1006b230b236 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -483,7 +483,6 @@ config I2C_DESIGNWARE_CORE config I2C_DESIGNWARE_PLATFORM tristate "Synopsys DesignWare Platform" select I2C_DESIGNWARE_CORE - select I2C_DESIGNWARE_SLAVE depends on (ACPI && COMMON_CLK) || !ACPI help If you say yes to this option, support will be included for the diff --git a/drivers/i2c/busses/i2c-designware-core.h b/drivers/i2c/busses/i2c-designware-core.h index a403dcdfca4b..9fee4c054d3d 100644 --- a/drivers/i2c/busses/i2c-designware-core.h +++ b/drivers/i2c/busses/i2c-designware-core.h @@ -309,7 +309,11 @@ void i2c_dw_disable_int(struct dw_i2c_dev *dev); extern u32 i2c_dw_read_comp_param(struct dw_i2c_dev *dev); extern int i2c_dw_probe(struct dw_i2c_dev *dev); +#if IS_ENABLED(CONFIG_I2C_DESIGNWARE_SLAVE) extern int i2c_dw_probe_slave(struct dw_i2c_dev *dev); +#else +static inline int i2c_dw_probe_slave(struct dw_i2c_dev *dev) { return -EINVAL; } +#endif #if IS_ENABLED(CONFIG_I2C_DESIGNWARE_BAYTRAIL) extern int i2c_dw_probe_lock_support(struct dw_i2c_dev *dev); |