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

Commit 1b033447 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull i2c updates from Jean Delvare:
 "Most visible changes are the SMBus multiplexing support added to the
  i2c-i801 driver, as well as support for the VIA VX900."

* 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
  i2c-piix4: Fix build failure
  i2c: Correct struct i2c_driver doc about detection
  i2c-i801: Let i2c-mux-gpio find the GPIO chip
  i2c-mux-gpio: Update documentation
  i2c-mux-gpio: Add support for dynamically allocated GPIO pins
  i2c-mux-gpio: Use devm_kzalloc instead of kzalloc
  i2c-i801: Support SMBus multiplexing on Asus Z8 series
  i2c-viapro: Add VIA VX900 device ID
  i2c-parport: i2c_parport_irq can be static
  i2c-designware: i2c_dw_xfer_msg can be static
  i2c/scx200_*: Replace printks with pr_<level>s
  i2c: Make I2C available on UML
  i2c: Convert struct i2c_msg initialization to C99 format
  i2c-smbus: Convert kzalloc to devm_kzalloc
  i2c-mux: Add support for device auto-detection
parents c0703c12 c415b303
Loading
Loading
Loading
Loading
+5 −1
Original line number Original line Diff line number Diff line
@@ -20,7 +20,10 @@ Supported adapters:
    Datasheet: available on http://linux.via.com.tw
    Datasheet: available on http://linux.via.com.tw


  * VIA Technologies, Inc. VX855/VX875
  * VIA Technologies, Inc. VX855/VX875
    Datasheet: Availability unknown
    Datasheet: available on http://linux.via.com.tw

  * VIA Technologies, Inc. VX900
    Datasheet: available on http://linux.via.com.tw


Authors:
Authors:
	Kyösti Mälkki <kmalkki@cc.hut.fi>,
	Kyösti Mälkki <kmalkki@cc.hut.fi>,
@@ -57,6 +60,7 @@ Your lspci -n listing must show one of these :
 device 1106:8324   (CX700)
 device 1106:8324   (CX700)
 device 1106:8353   (VX800/VX820)
 device 1106:8353   (VX800/VX820)
 device 1106:8409   (VX855/VX875)
 device 1106:8409   (VX855/VX875)
 device 1106:8410   (VX900)


If none of these show up, you should look in the BIOS for settings like
If none of these show up, you should look in the BIOS for settings like
enable ACPI / SMBus or even USB.
enable ACPI / SMBus or even USB.
+18 −0
Original line number Original line Diff line number Diff line
@@ -63,3 +63,21 @@ static struct platform_device myboard_i2cmux = {
		.platform_data	= &myboard_i2cmux_data,
		.platform_data	= &myboard_i2cmux_data,
	},
	},
};
};

If you don't know the absolute GPIO pin numbers at registration time,
you can instead provide a chip name (.chip_name) and relative GPIO pin
numbers, and the i2c-gpio-mux driver will do the work for you,
including deferred probing if the GPIO chip isn't immediately
available.

Device Registration
-------------------

When registering your i2c-gpio-mux device, you should pass the number
of any GPIO pin it uses as the device ID. This guarantees that every
instance has a different ID.

Alternatively, if you don't need a stable device name, you can simply
pass PLATFORM_DEVID_AUTO as the device ID, and the platform core will
assign a dynamic ID to your device. If you do not know the absolute
GPIO pin numbers at registration time, this is even the only option.
+16 −1
Original line number Original line Diff line number Diff line
@@ -4,7 +4,7 @@


menuconfig I2C
menuconfig I2C
	tristate "I2C support"
	tristate "I2C support"
	depends on HAS_IOMEM
	depends on !S390
	select RT_MUTEXES
	select RT_MUTEXES
	---help---
	---help---
	  I2C (pronounce: I-squared-C) is a slow serial bus protocol used in
	  I2C (pronounce: I-squared-C) is a slow serial bus protocol used in
@@ -49,6 +49,7 @@ config I2C_CHARDEV


config I2C_MUX
config I2C_MUX
	tristate "I2C bus multiplexing support"
	tristate "I2C bus multiplexing support"
	depends on HAS_IOMEM
	help
	help
	  Say Y here if you want the I2C core to support the ability to
	  Say Y here if you want the I2C core to support the ability to
	  handle multiplexed I2C bus topologies, by presenting each
	  handle multiplexed I2C bus topologies, by presenting each
@@ -86,6 +87,19 @@ config I2C_SMBUS
source drivers/i2c/algos/Kconfig
source drivers/i2c/algos/Kconfig
source drivers/i2c/busses/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
config I2C_DEBUG_CORE
	bool "I2C Core debugging messages"
	bool "I2C Core debugging messages"
	help
	help
@@ -103,6 +117,7 @@ config I2C_DEBUG_ALGO


config I2C_DEBUG_BUS
config I2C_DEBUG_BUS
	bool "I2C Bus debugging messages"
	bool "I2C Bus debugging messages"
	depends on HAS_IOMEM
	help
	help
	  Say Y here if you want the I2C bus drivers to produce a bunch of
	  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
	  debug messages to the system log.  Select this if you are having
+4 −14
Original line number Original line Diff line number Diff line
@@ -3,6 +3,7 @@
#
#


menu "I2C Hardware Bus support"
menu "I2C Hardware Bus support"
	depends on HAS_IOMEM


comment "PC SMBus host controller drivers"
comment "PC SMBus host controller drivers"
	depends on PCI
	depends on PCI
@@ -80,6 +81,7 @@ config I2C_I801
	tristate "Intel 82801 (ICH/PCH)"
	tristate "Intel 82801 (ICH/PCH)"
	depends on PCI
	depends on PCI
	select CHECK_SIGNATURE if X86 && DMI
	select CHECK_SIGNATURE if X86 && DMI
	select GPIOLIB if I2C_MUX
	help
	help
	  If you say yes to this option, support will be included for the Intel
	  If you say yes to this option, support will be included for the Intel
	  801 family of mainboard I2C interfaces.  Specifically, the following
	  801 family of mainboard I2C interfaces.  Specifically, the following
@@ -224,7 +226,7 @@ config I2C_VIA
	  will be called i2c-via.
	  will be called i2c-via.


config I2C_VIAPRO
config I2C_VIAPRO
	tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx"
	tristate "VIA VT82C596/82C686/82xx and CX700/VX8xx/VX900"
	depends on PCI
	depends on PCI
	help
	help
	  If you say yes to this option, support will be included for the VIA
	  If you say yes to this option, support will be included for the VIA
@@ -240,6 +242,7 @@ config I2C_VIAPRO
	    CX700
	    CX700
	    VX800/VX820
	    VX800/VX820
	    VX855/VX875
	    VX855/VX875
	    VX900


	  This driver can also be built as a module.  If so, the module
	  This driver can also be built as a module.  If so, the module
	  will be called i2c-viapro.
	  will be called i2c-viapro.
@@ -849,19 +852,6 @@ config I2C_SIBYTE
	help
	help
	  Supports the SiByte SOC on-chip I2C interfaces (2 channels).
	  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
config SCx200_I2C
	tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
	tristate "NatSemi SCx200 I2C using GPIO pins (DEPRECATED)"
	depends on SCx200_GPIO
	depends on SCx200_GPIO
+1 −1
Original line number Original line Diff line number Diff line
@@ -370,7 +370,7 @@ static void i2c_dw_xfer_init(struct dw_i2c_dev *dev)
 * messages into the tx buffer.  Even if the size of i2c_msg data is
 * messages into the tx buffer.  Even if the size of i2c_msg data is
 * longer than the size of the tx buffer, it handles everything.
 * longer than the size of the tx buffer, it handles everything.
 */
 */
void
static void
i2c_dw_xfer_msg(struct dw_i2c_dev *dev)
i2c_dw_xfer_msg(struct dw_i2c_dev *dev)
{
{
	struct i2c_msg *msgs = dev->msgs;
	struct i2c_msg *msgs = dev->msgs;
Loading