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>
This commit is contained in:
Jarkko Nikula 2017-06-28 17:23:29 +03:00 committed by Wolfram Sang
parent 21bf440ce1
commit 6e38cf3b44
2 changed files with 4 additions and 1 deletions

View File

@ -483,7 +483,6 @@ config I2C_DESIGNWARE_CORE
config I2C_DESIGNWARE_PLATFORM config I2C_DESIGNWARE_PLATFORM
tristate "Synopsys DesignWare Platform" tristate "Synopsys DesignWare Platform"
select I2C_DESIGNWARE_CORE select I2C_DESIGNWARE_CORE
select I2C_DESIGNWARE_SLAVE
depends on (ACPI && COMMON_CLK) || !ACPI depends on (ACPI && COMMON_CLK) || !ACPI
help help
If you say yes to this option, support will be included for the If you say yes to this option, support will be included for the

View File

@ -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 u32 i2c_dw_read_comp_param(struct dw_i2c_dev *dev);
extern int i2c_dw_probe(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); 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) #if IS_ENABLED(CONFIG_I2C_DESIGNWARE_BAYTRAIL)
extern int i2c_dw_probe_lock_support(struct dw_i2c_dev *dev); extern int i2c_dw_probe_lock_support(struct dw_i2c_dev *dev);