i2c: Make I2C available on UML
Peter Huewe [Fri, 5 Oct 2012 20:23:52 +0000 (22:23 +0200)]
Remove the global dependency of the I2C subsystem on HAS_IOMEM and
move the dependency to the i2c/busses submenu, with an exception for
i2c-stub.

The generic I2C part does not need to have HAS_IOMEM set and thus now
becomes available in UML, so the I2C subsystem can now be used, e.g.
by the i2c-stub driver, for development of I2C device drivers.

[JD: Some adjustments.]

[Heiko Carstens: Keep I2C disabled on S390.]

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>

drivers/i2c/Kconfig
drivers/i2c/busses/Kconfig

index 5a3bb3d..2f8c76b 100644 (file)
@@ -4,7 +4,7 @@
 
 menuconfig I2C
        tristate "I2C support"
-       depends on HAS_IOMEM
+       depends on !S390
        select RT_MUTEXES
        ---help---
          I2C (pronounce: I-squared-C) is a slow serial bus protocol used in
@@ -49,6 +49,7 @@ 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
@@ -86,6 +87,19 @@ config I2C_SMBUS
 source drivers/i2c/algos/Kconfig
 source drivers/i2c/busses/Kconfig
 
+config I2C_STUB
+       tristate "I2C/SMBus Test Stub"
+       depends on EXPERIMENTAL && m
+       default 'n'
+       help
+         This module may be useful to developers of SMBus client drivers,
+         especially for certain kinds of sensor chips.
+
+         If you do build this module, be sure to read the notes and warnings
+         in <file:Documentation/i2c/i2c-stub>.
+
+         If you don't know what to do here, definitely say N.
+
 config I2C_DEBUG_CORE
        bool "I2C Core debugging messages"
        help
@@ -103,6 +117,7 @@ config I2C_DEBUG_ALGO
 
 config I2C_DEBUG_BUS
        bool "I2C Bus debugging messages"
+       depends on HAS_IOMEM
        help
          Say Y here if you want the I2C bus drivers to produce a bunch of
          debug messages to the system log.  Select this if you are having
index 42d9fdd..8eed054 100644 (file)
@@ -3,6 +3,7 @@
 #
 
 menu "I2C Hardware Bus support"
+       depends on HAS_IOMEM
 
 comment "PC SMBus host controller drivers"
        depends on PCI
@@ -849,19 +850,6 @@ config I2C_SIBYTE
        help
          Supports the SiByte SOC on-chip I2C interfaces (2 channels).
 
-config I2C_STUB
-       tristate "I2C/SMBus Test Stub"
-       depends on EXPERIMENTAL && m
-       default 'n'
-       help
-         This module may be useful to developers of SMBus client drivers,
-         especially for certain kinds of sensor chips.
-
-         If you do build this module, be sure to read the notes and warnings
-         in <file:Documentation/i2c/i2c-stub>.
-
-         If you don't know what to do here, definitely say N.
-
 config SCx200_I2C
        tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
        depends on SCx200_GPIO