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

Commit a5b08073 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6: (30 commits)
  i2c: Drop unimplemented slave functions
  i2c: Constify i2c_algorithm declarations, part 2
  i2c: Constify i2c_algorithm declarations, part 1
  i2c: Let drivers constify i2c_algorithm data
  i2c-isa: Restore driver owner
  i2c-viapro: Add support for the VT8237A and VT8251
  i2c: Warn on i2c client creation failure
  i2c-core: Drop useless bitmaskings
  i2c-algo-pcf: Discard the mdelay data struct member
  i2c-algo-bit: Cleanups
  i2c-isa: Fail adding driver on attach_adapter error
  i2c: __must_check fixes (chip drivers)
  i2c-dev: attach/detach_adapter cleanups
  i2c-stub: Chip address as a module parameter
  i2c: Plan i2c-isa for removal
  i2c: New bus driver for TI OMAP boards
  i2c-algo-bit: Discard the mdelay data struct member
  i2c-matroxfb: Struct init conversion
  i2c: Fix copy-n-paste in subsystem Kconfig
  i2c-au1550: Add I2C support for Au1200
  ...
parents ff0972c2 6d3aae9d
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -313,3 +313,12 @@ Why: The stacking of class devices makes these values misleading and
Who:	Kay Sievers <kay.sievers@suse.de>

---------------------------

What:	i2c-isa
When:	December 2006
Why:	i2c-isa is a non-sense and doesn't fit in the device driver
	model. Drivers relying on it are better implemented as platform
	drivers.
Who:	Jean Delvare <khali@linux-fr.org>

---------------------------
+6 −1
Original line number Diff line number Diff line
@@ -7,9 +7,12 @@ Supported adapters:
  * VIA Technologies, Inc. VT82C686A/B
    Datasheet: Sometimes available at the VIA website

  * VIA Technologies, Inc. VT8231, VT8233, VT8233A, VT8235, VT8237R
  * VIA Technologies, Inc. VT8231, VT8233, VT8233A
    Datasheet: available on request from VIA

  * VIA Technologies, Inc. VT8235, VT8237R, VT8237A, VT8251
    Datasheet: available on request and under NDA from VIA

Authors:
	Kysti Mlkki <kmalkki@cc.hut.fi>,
	Mark D. Studebaker <mdsxyz123@yahoo.com>,
@@ -39,6 +42,8 @@ Your lspci -n listing must show one of these :
 device 1106:8235   (VT8231 function 4)
 device 1106:3177   (VT8235)
 device 1106:3227   (VT8237R)
 device 1106:3337   (VT8237A)
 device 1106:3287   (VT8251)

If none of these show up, you should look in the BIOS for settings like
enable ACPI / SMBus or even USB.
+13 −2
Original line number Diff line number Diff line
@@ -6,9 +6,12 @@ This module is a very simple fake I2C/SMBus driver. It implements four
types of SMBus commands: write quick, (r/w) byte, (r/w) byte data, and
(r/w) word data.

You need to provide a chip address as a module parameter when loading
this driver, which will then only react to SMBus commands to this address.

No hardware is needed nor associated with this module.  It will accept write
quick commands to all addresses; it will respond to the other commands (also
to all addresses) by reading from or writing to an array in memory.  It will
quick commands to one address; it will respond to the other commands (also
to one address) by reading from or writing to an array in memory.  It will
also spam the kernel logs for every command it handles.

A pointer register with auto-increment is implemented for all byte
@@ -21,6 +24,11 @@ The typical use-case is like this:
	3. load the target sensors chip driver module
	4. observe its behavior in the kernel log

PARAMETERS:

int chip_addr:
	The SMBus address to emulate a chip at.

CAVEATS:

There are independent arrays for byte/data and word/data commands.  Depending
@@ -33,6 +41,9 @@ If the hardware for your driver has banked registers (e.g. Winbond sensors
chips) this module will not work well - although it could be extended to
support that pretty easily.

Only one chip address is supported - although this module could be
extended to support more.

If you spam it hard enough, printk can be lossy.  This module really wants
something like relayfs.
+0 −1
Original line number Diff line number Diff line
@@ -308,7 +308,6 @@ static struct i2c_algo_bit_data ioc_data = {
	.getsda		= ioc_getsda,
	.getscl		= ioc_getscl,
	.udelay		= 80,
	.mdelay		= 80,
	.timeout	= 100
};

+1 −1
Original line number Diff line number Diff line
@@ -293,7 +293,7 @@ static u32 acpi_ec_smb_func(struct i2c_adapter *adapter)
		I2C_FUNC_SMBUS_I2C_BLOCK | I2C_FUNC_SMBUS_HWPEC_CALC);
}

static struct i2c_algorithm acpi_ec_smbus_algorithm = {
static const struct i2c_algorithm acpi_ec_smbus_algorithm = {
	.smbus_xfer = acpi_ec_smb_access,
	.functionality = acpi_ec_smb_func,
};
Loading