mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	Pull i2c updates from Wolfram Sang: - the first series of making i2c_device_id optional instead of mandatory (in favor of alternatives like of_device_id). This involves adding a new probe callback (probe_new) which removes some peculiarities I2C had for a long time now. The new probe is matching the other subsystems now and the old one will be removed once all users are converted. It is expected to take a while but there is ongoing interest in that. - SMBus Host Notify introduced 4.9 got refactored. They are now using interrupts instead of the alert callback which solves multiple issues. - new drivers for iMX LowPower I2C, Mellanox CPLD and its I2C mux - significant refactoring for bcm2835 driver - the usual set of driver updates and improvements * 'i2c/for-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (46 commits) i2c: fsl-lpi2c: read lpi2c fifo size in probe() i2c: octeon: thunderx: Remove double-check after interrupt i2c: octeon: thunderx: TWSI software reset in recovery i2c: cadence: Allow Cadence I2C to be selected for Cadence Xtensa CPUs i2c: sh_mobile: Add per-Generation fallback bindings i2c: rcar: Add per-Generation fallback bindings i2c: imx-lpi2c: add low power i2c bus driver dt-bindings: i2c: imx-lpi2c: add devicetree bindings i2c: designware-pcidrv: Add 10bit address feature to medfield/merrifield i2c: pxa: Add support for the I2C units found in Armada 3700 i2c: pxa: Add definition of fast and high speed modes via the regs layout dt-bindings: i2c: pxa: Update the documentation for the Armada 3700 i2c: qup: support SMBus block read i2c: qup: add ACPI support i2c: designware: Consolidate default functionality bits i2c: i2c-mux-gpio: update mux with gpiod_set_array_value_cansleep i2c: mux: pca954x: Add ACPI support for pca954x i2c: use an IRQ to report Host Notify events, not alert i2c: i801: remove SMBNTFDDAT reads as they always seem to return 0 i2c: i801: use the BIT() macro for FEATURES_* also ...
		
			
				
	
	
		
			149 lines
		
	
	
	
		
			4.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			149 lines
		
	
	
	
		
			4.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
#
 | 
						|
# 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
 |