docs: driver-api: i2c: remove some outdated information

a) Linux can be an I2C slave meanwhile
b) all drivers except one use the driver model currently

Update the documentation.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
Wolfram Sang 2017-05-23 15:46:54 +02:00 committed by Jonathan Corbet
parent 6a08d83e43
commit c251e2a843

View file

@ -13,8 +13,8 @@ I2C is a multi-master bus; open drain signaling is used to arbitrate
between masters, as well as to handshake and to synchronize clocks from between masters, as well as to handshake and to synchronize clocks from
slower clients. slower clients.
The Linux I2C programming interfaces support only the master side of bus The Linux I2C programming interfaces support the master side of bus
interactions, not the slave side. The programming interface is interactions and the slave side. The programming interface is
structured around two kinds of driver, and two kinds of device. An I2C structured around two kinds of driver, and two kinds of device. An I2C
"Adapter Driver" abstracts the controller hardware; it binds to a "Adapter Driver" abstracts the controller hardware; it binds to a
physical device (perhaps a PCI device or platform_device) and exposes a physical device (perhaps a PCI device or platform_device) and exposes a
@ -22,9 +22,8 @@ physical device (perhaps a PCI device or platform_device) and exposes a
I2C bus segment it manages. On each I2C bus segment will be I2C devices I2C bus segment it manages. On each I2C bus segment will be I2C devices
represented by a :c:type:`struct i2c_client <i2c_client>`. represented by a :c:type:`struct i2c_client <i2c_client>`.
Those devices will be bound to a :c:type:`struct i2c_driver Those devices will be bound to a :c:type:`struct i2c_driver
<i2c_driver>`, which should follow the standard Linux driver <i2c_driver>`, which should follow the standard Linux driver model. There
model. (At this writing, a legacy model is more widely used.) There are are functions to perform various I2C protocol operations; at this writing
functions to perform various I2C protocol operations; at this writing
all such functions are usable only from task context. all such functions are usable only from task context.
The System Management Bus (SMBus) is a sibling protocol. Most SMBus The System Management Bus (SMBus) is a sibling protocol. Most SMBus