| # | 
 | # I2C subsystem configuration | 
 | # | 
 |  | 
 | menu "I2C support" | 
 |  | 
 | config I2C | 
 | 	tristate "I2C support" | 
 | 	select RT_MUTEXES | 
 | 	select IRQ_DOMAIN | 
 | 	---help--- | 
 | 	  I2C (pronounce: I-squared-C) is a slow serial bus protocol used in | 
 | 	  many micro controller applications and developed by Philips.  SMBus, | 
 | 	  or System Management Bus is a subset of the I2C protocol.  More | 
 | 	  information is contained in the directory <file:Documentation/i2c/>, | 
 | 	  especially in the file called "summary" there. | 
 |  | 
 | 	  Both I2C and SMBus are supported here. You will need this for | 
 | 	  hardware sensors support, and also for Video For Linux support. | 
 |  | 
 | 	  If you want I2C support, you should say Y here and also to the | 
 | 	  specific driver for your bus adapter(s) below. | 
 |  | 
 | 	  This I2C support can also be built as a module.  If so, the module | 
 | 	  will be called i2c-core. | 
 |  | 
 | config ACPI_I2C_OPREGION | 
 | 	bool "ACPI I2C Operation region support" | 
 | 	depends on I2C=y && ACPI | 
 | 	default y | 
 | 	help | 
 | 	  Say Y here if you want to enable ACPI I2C operation region support. | 
 | 	  Operation Regions allow firmware (BIOS) code to access I2C slave devices, | 
 | 	  such as smart batteries through an I2C host controller driver. | 
 |  | 
 | if I2C | 
 |  | 
 | config I2C_BOARDINFO | 
 | 	bool | 
 | 	default y | 
 |  | 
 | config I2C_COMPAT | 
 | 	bool "Enable compatibility bits for old user-space" | 
 | 	default y | 
 | 	help | 
 | 	  Say Y here if you intend to run lm-sensors 3.1.1 or older, or any | 
 | 	  other user-space package which expects i2c adapters to be class | 
 | 	  devices. If you don't know, say Y. | 
 |  | 
 | config I2C_CHARDEV | 
 | 	tristate "I2C device interface" | 
 | 	help | 
 | 	  Say Y here to use i2c-* device files, usually found in the /dev | 
 | 	  directory on your system.  They make it possible to have user-space | 
 | 	  programs use the I2C bus.  Information on how to do this is | 
 | 	  contained in the file <file:Documentation/i2c/dev-interface>. | 
 |  | 
 | 	  This support is also available as a module.  If so, the module  | 
 | 	  will be called i2c-dev. | 
 |  | 
 | config I2C_MUX | 
 | 	tristate "I2C bus multiplexing support" | 
 | 	help | 
 | 	  Say Y here if you want the I2C core to support the ability to | 
 | 	  handle multiplexed I2C bus topologies, by presenting each | 
 | 	  multiplexed segment as a I2C adapter. | 
 |  | 
 | 	  This support is also available as a module.  If so, the module | 
 | 	  will be called i2c-mux. | 
 |  | 
 | source "drivers/i2c/muxes/Kconfig" | 
 |  | 
 | config I2C_HELPER_AUTO | 
 | 	bool "Autoselect pertinent helper modules" | 
 | 	default y | 
 | 	help | 
 | 	  Some I2C bus drivers require so-called "I2C algorithm" modules | 
 | 	  to work. These are basically software-only abstractions of generic | 
 | 	  I2C interfaces. This option will autoselect them so that you don't | 
 | 	  have to care. | 
 |  | 
 | 	  Unselect this only if you need to enable additional helper | 
 | 	  modules, for example for use with external I2C bus drivers. | 
 |  | 
 | 	  In doubt, say Y. | 
 |  | 
 | config I2C_SMBUS | 
 | 	tristate "SMBus-specific protocols" if !I2C_HELPER_AUTO | 
 | 	help | 
 | 	  Say Y here if you want support for SMBus extensions to the I2C | 
 | 	  specification. At the moment, two extensions are supported: | 
 | 	  the SMBus Alert protocol and the SMBus Host Notify protocol. | 
 |  | 
 | 	  This support is also available as a module.  If so, the module | 
 | 	  will be called i2c-smbus. | 
 |  | 
 | source "drivers/i2c/algos/Kconfig" | 
 | source "drivers/i2c/busses/Kconfig" | 
 |  | 
 | config I2C_STUB | 
 | 	tristate "I2C/SMBus Test Stub" | 
 | 	depends on 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_SLAVE | 
 | 	bool "I2C slave support" | 
 |  | 
 | if I2C_SLAVE | 
 |  | 
 | config I2C_SLAVE_EEPROM | 
 | 	tristate "I2C eeprom slave driver" | 
 |  | 
 | endif | 
 |  | 
 | config I2C_DEBUG_CORE | 
 | 	bool "I2C Core debugging messages" | 
 | 	help | 
 | 	  Say Y here if you want the I2C core to produce a bunch of debug | 
 | 	  messages to the system log.  Select this if you are having a | 
 | 	  problem with I2C support and want to see more of what is going on. | 
 |  | 
 | config I2C_DEBUG_ALGO | 
 | 	bool "I2C Algorithm debugging messages" | 
 | 	help | 
 | 	  Say Y here if you want the I2C algorithm drivers to produce a bunch | 
 | 	  of debug messages to the system log.  Select this if you are having | 
 | 	  a problem with I2C support and want to see more of what is going | 
 | 	  on. | 
 |  | 
 | 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 | 
 | 	  a problem with I2C support and want to see more of what is going | 
 | 	  on. | 
 |  | 
 | endif # I2C | 
 |  | 
 | endmenu |