diff mbox

[v2] i2c: mux: fix up dependencies

Message ID 1479134057-30653-1-git-send-email-linus.walleij@linaro.org
State Accepted
Commit 93d710a65ef02fb7fd48ae207e78f460bd7a6089
Headers show

Commit Message

Linus Walleij Nov. 14, 2016, 2:34 p.m. UTC
We get the following build error from UM Linux after adding
an entry to drivers/iio/gyro/Kconfig that issues "select I2C_MUX":

ERROR: "devm_ioremap_resource"
   [drivers/i2c/muxes/i2c-mux-reg.ko] undefined!
ERROR: "of_address_to_resource"
   [drivers/i2c/muxes/i2c-mux-reg.ko] undefined!

It appears that the I2C mux core code depends on HAS_IOMEM
for historical reasons, while CONFIG_I2C_MUX_REG does *not*
have a direct dependency on HAS_IOMEM.

This creates a situation where a allyesconfig or allmodconfig
for UM Linux will select I2C_MUX, and will implicitly enable
I2C_MUX_REG as well, and the compilation will fail for the
register driver.

Fix this up by making I2C_MUX_REG depend on HAS_IOMEM and
removing the dependency from I2C_MUX.

Cc: stable@vger.kernel.org
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Reported-by: Jonathan Cameron <jic23@jic23.retrosnub.co.uk>
Cc: Jonathan Cameron <jic23@jic23.retrosnub.co.uk>
Cc: Peter Rosin <peda@axentia.se>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

---
ChangeLog v1->v2:
- Drop the assumed dependency on OF from I2C_MUX
---
 drivers/i2c/Kconfig       | 1 -
 drivers/i2c/muxes/Kconfig | 1 +
 2 files changed, 1 insertion(+), 1 deletion(-)

-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Jonathan Cameron Nov. 14, 2016, 5:13 p.m. UTC | #1
On 14 November 2016 14:39:54 GMT+00:00, Peter Rosin <peda@axentia.se> wrote:
>On 2016-11-14 15:34, Linus Walleij wrote:

>> We get the following build error from UM Linux after adding

>> an entry to drivers/iio/gyro/Kconfig that issues "select I2C_MUX":

>> 

>> ERROR: "devm_ioremap_resource"

>>    [drivers/i2c/muxes/i2c-mux-reg.ko] undefined!

>> ERROR: "of_address_to_resource"

>>    [drivers/i2c/muxes/i2c-mux-reg.ko] undefined!

>> 

>> It appears that the I2C mux core code depends on HAS_IOMEM

>> for historical reasons, while CONFIG_I2C_MUX_REG does *not*

>> have a direct dependency on HAS_IOMEM.

>> 

>> This creates a situation where a allyesconfig or allmodconfig

>> for UM Linux will select I2C_MUX, and will implicitly enable

>> I2C_MUX_REG as well, and the compilation will fail for the

>> register driver.

>> 

>> Fix this up by making I2C_MUX_REG depend on HAS_IOMEM and

>> removing the dependency from I2C_MUX.

>> 

>> Cc: stable@vger.kernel.org

>> Reported-by: kbuild test robot <fengguang.wu@intel.com>

>> Reported-by: Jonathan Cameron <jic23@jic23.retrosnub.co.uk>

>> Cc: Jonathan Cameron <jic23@jic23.retrosnub.co.uk>

>> Cc: Peter Rosin <peda@axentia.se>

>> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

>

>Acked-by: Peter Rosin <peda@axentia.se>

>

>Thanks!

Thanks for sorting this.
Acked-by: Jonathan Cameron <jic23@kernel.org>

>

>Cheers,

>Peter


-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Wolfram Sang Nov. 14, 2016, 5:24 p.m. UTC | #2
On Mon, Nov 14, 2016 at 03:34:17PM +0100, Linus Walleij wrote:
> We get the following build error from UM Linux after adding

> an entry to drivers/iio/gyro/Kconfig that issues "select I2C_MUX":

> 

> ERROR: "devm_ioremap_resource"

>    [drivers/i2c/muxes/i2c-mux-reg.ko] undefined!

> ERROR: "of_address_to_resource"

>    [drivers/i2c/muxes/i2c-mux-reg.ko] undefined!

> 

> It appears that the I2C mux core code depends on HAS_IOMEM

> for historical reasons, while CONFIG_I2C_MUX_REG does *not*

> have a direct dependency on HAS_IOMEM.

> 

> This creates a situation where a allyesconfig or allmodconfig

> for UM Linux will select I2C_MUX, and will implicitly enable

> I2C_MUX_REG as well, and the compilation will fail for the

> register driver.

> 

> Fix this up by making I2C_MUX_REG depend on HAS_IOMEM and

> removing the dependency from I2C_MUX.

> 

> Cc: stable@vger.kernel.org

> Reported-by: kbuild test robot <fengguang.wu@intel.com>

> Reported-by: Jonathan Cameron <jic23@jic23.retrosnub.co.uk>

> Cc: Jonathan Cameron <jic23@jic23.retrosnub.co.uk>

> Cc: Peter Rosin <peda@axentia.se>

> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>


Applied to for-current, thanks!
diff mbox

Patch

diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
index d223650a97e4..11edabf425ae 100644
--- a/drivers/i2c/Kconfig
+++ b/drivers/i2c/Kconfig
@@ -59,7 +59,6 @@  config I2C_CHARDEV
 
 config I2C_MUX
 	tristate "I2C bus multiplexing support"
-	depends on HAS_IOMEM
 	help
 	  Say Y here if you want the I2C core to support the ability to
 	  handle multiplexed I2C bus topologies, by presenting each
diff --git a/drivers/i2c/muxes/Kconfig b/drivers/i2c/muxes/Kconfig
index e280c8ecc0b5..96de9ce5669b 100644
--- a/drivers/i2c/muxes/Kconfig
+++ b/drivers/i2c/muxes/Kconfig
@@ -63,6 +63,7 @@  config I2C_MUX_PINCTRL
 
 config I2C_MUX_REG
 	tristate "Register-based I2C multiplexer"
+	depends on HAS_IOMEM
 	help
 	  If you say yes to this option, support will be included for a
 	  register based I2C multiplexer. This driver provides access to