On 1/21/19 6:11 AM, Jarkko Nikula wrote:
> INTEL_SOC_PMIC, INTEL_SOC_PMIC_CHTWC and MFD_TPS68470 select the
> I2C_DESIGNWARE_PLATFORM without its dependencies making it possible to see
> warning and build error like below:
> 
> WARNING: unmet direct dependencies detected for I2C_DESIGNWARE_PLATFORM
>   Depends on [n]: I2C [=y] && HAS_IOMEM [=y] && (ACPI [=y] && COMMON_CLK [=n] 
> || !ACPI [=y])
>   Selected by [y]:
>   - MFD_TPS68470 [=y] && HAS_IOMEM [=y] && ACPI [=y] && I2C [=y]=y
> 
> /usr/bin/ld: drivers/i2c/busses/i2c-designware-platdrv.o: in function 
> `dw_i2c_plat_resume':
> i2c-designware-platdrv.c:(.text+0x62): undefined reference to 
> `i2c_dw_prepare_clk'
> /usr/bin/ld: drivers/i2c/busses/i2c-designware-platdrv.o: in function 
> `dw_i2c_plat_suspend':
> i2c-designware-platdrv.c:(.text+0x9a): undefined reference to 
> `i2c_dw_prepare_clk'
> /usr/bin/ld: drivers/i2c/busses/i2c-designware-platdrv.o: in function 
> `dw_i2c_plat_probe':
> i2c-designware-platdrv.c:(.text+0x41c): undefined reference to 
> `i2c_dw_prepare_clk'
> /usr/bin/ld: i2c-designware-platdrv.c:(.text+0x438): undefined reference to 
> `i2c_dw_read_comp_param'
> /usr/bin/ld: i2c-designware-platdrv.c:(.text+0x545): undefined reference to 
> `i2c_dw_probe'
> /usr/bin/ld: i2c-designware-platdrv.c:(.text+0x727): undefined reference to 
> `i2c_dw_probe_slave'
> 
> Fix this by making above options to depend on I2C_DESIGNWARE_PLATFORM
> being built-in. I2C_DESIGNWARE_PLATFORM is a visible symbol with
> dependencies so in general the select should be avoided.
> 
> Reported-by: Randy Dunlap <[email protected]>
> Fixes: acebcff9eda8 ("mfd: intel_soc_pmic: Select designware i2c-bus driver")
> Fixes: de85d79f4aab ("mfd: Add Cherry Trail Whiskey Cove PMIC driver")
> Fixes: 9bbf6a15ce19 ("mfd: Add support for TPS68470 device")
> Cc: Stable <[email protected]> # v4.14+
> Signed-off-by: Jarkko Nikula <[email protected]>

Acked-by: Randy Dunlap <[email protected]> # build-tested

Thanks.

> ---
>  drivers/mfd/Kconfig | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index f461460a2aeb..6a84a8ecd4a9 100644
> --- a/drivers/mfd/Kconfig
> +++ b/drivers/mfd/Kconfig
> @@ -519,10 +519,10 @@ config INTEL_SOC_PMIC
>       bool "Support for Crystal Cove PMIC"
>       depends on ACPI && HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK
>       depends on X86 || COMPILE_TEST
> +     depends on I2C_DESIGNWARE_PLATFORM=y
>       select MFD_CORE
>       select REGMAP_I2C
>       select REGMAP_IRQ
> -     select I2C_DESIGNWARE_PLATFORM
>       help
>         Select this option to enable support for Crystal Cove PMIC
>         on some Intel SoC systems. The PMIC provides ADC, GPIO,
> @@ -548,10 +548,10 @@ config INTEL_SOC_PMIC_CHTWC
>       bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
>       depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
>       depends on X86 || COMPILE_TEST
> +     depends on I2C_DESIGNWARE_PLATFORM=y
>       select MFD_CORE
>       select REGMAP_I2C
>       select REGMAP_IRQ
> -     select I2C_DESIGNWARE_PLATFORM
>       help
>         Select this option to enable support for the Intel Cherry Trail
>         Whiskey Cove PMIC found on some Intel Cherry Trail systems.
> @@ -1420,9 +1420,9 @@ config MFD_TPS65217
>  config MFD_TPS68470
>       bool "TI TPS68470 Power Management / LED chips"
>       depends on ACPI && I2C=y
> +     depends on I2C_DESIGNWARE_PLATFORM=y
>       select MFD_CORE
>       select REGMAP_I2C
> -     select I2C_DESIGNWARE_PLATFORM
>       help
>         If you say yes here you get support for the TPS68470 series of
>         Power Management / LED chips.
> 


-- 
~Randy

Reply via email to