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

Commit a03696e9 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
  i2c: Document the message size limit
  i2c-algo-pca: Drop duplicate variable
  i2c: Hook up runtime PM support
  i2c-parport-light: Add SMBus alert support
  i2c-parport: Add SMBus alert support
  i2c: Separate Kconfig option for i2c-smbus
  i2c: Add SMBus alert support
  i2c-parport: Give powered devices some time to settle
  i2c-tiny-usb: Fix a comment on bus frequency
  i2c-i801: Add Intel Cougar Point device IDs
  i2c: Make PCI device ids constant
parents 0a135ba1 0c43ea54
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -15,7 +15,8 @@ Supported adapters:
  * Intel 82801I (ICH9)
  * Intel EP80579 (Tolapai)
  * Intel 82801JI (ICH10)
  * Intel PCH
  * Intel 3400/5 Series (PCH)
  * Intel Cougar Point (PCH)
   Datasheets: Publicly available at the Intel website

Authors: 
+3 −0
Original line number Diff line number Diff line
@@ -29,6 +29,9 @@ can be easily added when needed.
Earlier kernels defaulted to type=0 (Philips).  But now, if the type
parameter is missing, the driver will simply fail to initialize.

SMBus alert support is available on adapters which have this line properly
connected to the parallel port's interrupt pin.


Building your own adapter
-------------------------
+11 −0
Original line number Diff line number Diff line
@@ -9,3 +9,14 @@ parport handling is not an option. The drawback is a reduced portability
and the impossibility to daisy-chain other parallel port devices.                 
  
Please see i2c-parport for documentation.

Module parameters:

* type: type of adapter (see i2c-parport or modinfo)

* base: base I/O address
  Default is 0x378 which is fairly common for parallel ports, at least on PC.

* irq: optional IRQ
  This must be passed if you want SMBus alert support, assuming your adapter
  actually supports this.
+16 −0
Original line number Diff line number Diff line
@@ -185,6 +185,22 @@ the protocol. All ARP communications use slave address 0x61 and
require PEC checksums.


SMBus Alert
===========

SMBus Alert was introduced in Revision 1.0 of the specification.

The SMBus alert protocol allows several SMBus slave devices to share a
single interrupt pin on the SMBus master, while still allowing the master
to know which slave triggered the interrupt.

This is implemented the following way in the Linux kernel:
* I2C bus drivers which support SMBus alert should call
  i2c_setup_smbus_alert() to setup SMBus alert support.
* I2C drivers for devices which can trigger SMBus alerts should implement
  the optional alert() callback.


I2C Block Transactions
======================

+3 −2
Original line number Diff line number Diff line
@@ -318,8 +318,9 @@ Plain I2C communication
These routines read and write some bytes from/to a client. The client
contains the i2c address, so you do not have to include it. The second
parameter contains the bytes to read/write, the third the number of bytes
to read/write (must be less than the length of the buffer.) Returned is
the actual number of bytes read/written.
to read/write (must be less than the length of the buffer, also should be
less than 64k since msg.len is u16.) Returned is the actual number of bytes
read/written.

	int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msg,
			 int num);
Loading