Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c207ac66 authored by Jarkko Nikula's avatar Jarkko Nikula Committed by Greg Kroah-Hartman
Browse files

mfd: Kconfig: Fix I2C_DESIGNWARE_PLATFORM dependencies



[ Upstream commit 09fdc98577120d4f47601c3127efde726a2300c6 ]

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.

Fixes: acebcff9 ("mfd: intel_soc_pmic: Select designware i2c-bus driver")
Fixes: de85d79f ("mfd: Add Cherry Trail Whiskey Cove PMIC driver")
Fixes: 9bbf6a15 ("mfd: Add support for TPS68470 device")
Cc: Stable <stable@vger.kernel.org> # v4.14+
Reported-by: default avatarRandy Dunlap <rdunlap@infradead.org>
Signed-off-by: default avatarJarkko Nikula <jarkko.nikula@linux.intel.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 6fd5e50a
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -509,10 +509,10 @@ config INTEL_SOC_PMIC
	bool "Support for Crystal Cove PMIC"
	bool "Support for Crystal Cove PMIC"
	depends on ACPI && HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK
	depends on ACPI && HAS_IOMEM && I2C=y && GPIOLIB && COMMON_CLK
	depends on X86 || COMPILE_TEST
	depends on X86 || COMPILE_TEST
	depends on I2C_DESIGNWARE_PLATFORM=y
	select MFD_CORE
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_I2C
	select REGMAP_IRQ
	select REGMAP_IRQ
	select I2C_DESIGNWARE_PLATFORM
	help
	help
	  Select this option to enable support for Crystal Cove PMIC
	  Select this option to enable support for Crystal Cove PMIC
	  on some Intel SoC systems. The PMIC provides ADC, GPIO,
	  on some Intel SoC systems. The PMIC provides ADC, GPIO,
@@ -538,10 +538,10 @@ config INTEL_SOC_PMIC_CHTWC
	bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
	bool "Support for Intel Cherry Trail Whiskey Cove PMIC"
	depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
	depends on ACPI && HAS_IOMEM && I2C=y && COMMON_CLK
	depends on X86 || COMPILE_TEST
	depends on X86 || COMPILE_TEST
	depends on I2C_DESIGNWARE_PLATFORM=y
	select MFD_CORE
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_I2C
	select REGMAP_IRQ
	select REGMAP_IRQ
	select I2C_DESIGNWARE_PLATFORM
	help
	help
	  Select this option to enable support for the Intel Cherry Trail
	  Select this option to enable support for the Intel Cherry Trail
	  Whiskey Cove PMIC found on some Intel Cherry Trail systems.
	  Whiskey Cove PMIC found on some Intel Cherry Trail systems.
@@ -1403,9 +1403,9 @@ config MFD_TPS65217
config MFD_TPS68470
config MFD_TPS68470
	bool "TI TPS68470 Power Management / LED chips"
	bool "TI TPS68470 Power Management / LED chips"
	depends on ACPI && I2C=y
	depends on ACPI && I2C=y
	depends on I2C_DESIGNWARE_PLATFORM=y
	select MFD_CORE
	select MFD_CORE
	select REGMAP_I2C
	select REGMAP_I2C
	select I2C_DESIGNWARE_PLATFORM
	help
	help
	  If you say yes here you get support for the TPS68470 series of
	  If you say yes here you get support for the TPS68470 series of
	  Power Management / LED chips.
	  Power Management / LED chips.