<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-dev/Documentation/i2c/smbus-protocol, branch master</title>
<subtitle>Linux kernel development work - see feature branches</subtitle>
<id>https://git.zx2c4.com/linux-dev/atom/Documentation/i2c/smbus-protocol?h=master</id>
<link rel='self' href='https://git.zx2c4.com/linux-dev/atom/Documentation/i2c/smbus-protocol?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/'/>
<updated>2019-07-31T19:25:27Z</updated>
<entry>
<title>docs: i2c: convert to ReST and add to driver-api bookset</title>
<updated>2019-07-31T19:25:27Z</updated>
<author>
<name>Mauro Carvalho Chehab</name>
<email>mchehab+samsung@kernel.org</email>
</author>
<published>2019-07-26T12:51:16Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=ccf988b66d697efcd0ceccc2398e0d9b909cd17c'/>
<id>urn:sha1:ccf988b66d697efcd0ceccc2398e0d9b909cd17c</id>
<content type='text'>
Convert each file at I2C subsystem, renaming them to .rst and
adding to the driver-api book.

Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+samsung@kernel.org&gt;
Acked-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
Acked-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Acked-by: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;
</content>
</entry>
<entry>
<title>i2c: use an IRQ to report Host Notify events, not alert</title>
<updated>2016-11-24T15:22:06Z</updated>
<author>
<name>Benjamin Tissoires</name>
<email>benjamin.tissoires@redhat.com</email>
</author>
<published>2016-10-13T12:10:40Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=4d5538f5882a6b67eefbab0f0a3a67ce811621aa'/>
<id>urn:sha1:4d5538f5882a6b67eefbab0f0a3a67ce811621aa</id>
<content type='text'>
The current SMBus Host Notify implementation relies on .alert() to
relay its notifications. However, the use cases where SMBus Host
Notify is needed currently is to signal data ready on touchpads.

This is closer to an IRQ than a custom API through .alert().
Given that the 2 touchpad manufacturers (Synaptics and Elan) that
use SMBus Host Notify don't put any data in the SMBus payload, the
concept actually matches one to one.

Benefits are multiple:
- simpler code and API: the client will just have an IRQ, and
  nothing needs to be added in the adapter beside internally
  enabling it.
- no more specific workqueue, the threading is handled by IRQ core
  directly (when required)
- no more races when removing the device (the drivers are already
  required to disable irq on remove)
- simpler handling for drivers: use plain regular IRQs
- no more dependency on i2c-smbus for i2c-i801 (and any other adapter)
- the IRQ domain is created automatically when the adapter exports
  the Host Notify capability
- the IRQ are assign only if ACPI, OF and the caller did not assign
  one already
- the domain is automatically destroyed on remove
- fewer lines of code (minus 20, yeah!)

Signed-off-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: smbus: add SMBus Host Notify support</title>
<updated>2016-06-17T11:24:05Z</updated>
<author>
<name>Benjamin Tissoires</name>
<email>benjamin.tissoires@redhat.com</email>
</author>
<published>2016-06-09T14:53:48Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=e456cd37bc28abe47dc65189df916ac0510ac1d4'/>
<id>urn:sha1:e456cd37bc28abe47dc65189df916ac0510ac1d4</id>
<content type='text'>
SMBus Host Notify allows a slave device to act as a master on a bus to
notify the host of an interrupt. On Intel chipsets, the functionality
is directly implemented in the firmware. We just need to export a
function to call .alert() on the proper device driver.

i2c_handle_smbus_host_notify() behaves like i2c_handle_smbus_alert().
When called, it schedules a task that will be able to sleep to go through
the list of devices attached to the adapter.

The current implementation allows one Host Notification to be scheduled
while an other is running.

Tested-by: Andrew Duggan &lt;aduggan@synaptics.com&gt;
Signed-off-by: Benjamin Tissoires &lt;benjamin.tissoires@redhat.com&gt;
Signed-off-by: Wolfram Sang &lt;wsa@the-dreams.de&gt;
</content>
</entry>
<entry>
<title>i2c: core: Remove definition of i2c_smbus_process_call</title>
<updated>2013-01-28T04:26:41Z</updated>
<author>
<name>Tushar Behera</name>
<email>tushar.behera@linaro.org</email>
</author>
<published>2012-11-19T11:01:42Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=c81109332068b44db4fd7b650c0e6bc0fc1411f1'/>
<id>urn:sha1:c81109332068b44db4fd7b650c0e6bc0fc1411f1</id>
<content type='text'>
i2c_smbus_process_call has no users in the kernel, so this can be
removed. Documentation for the same has been updated accordingly.

Fixes following sparse warning.
drivers/i2c/i2c-core.c:1871:5: warning: symbol 'i2c_smbus_process_call'
was not declared. Should it be static?

[wsa: updated the documentation]

Signed-off-by: Tushar Behera &lt;tushar.behera@linaro.org&gt;
Signed-off-by: Wolfram Sang &lt;w.sang@pengutronix.de&gt;
</content>
</entry>
<entry>
<title>i2c: Mention functionality flags in SMBus protocol documentation</title>
<updated>2012-12-16T20:11:55Z</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2012-12-16T20:11:55Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=a1681781da691a95c2277d9dbd7f5962b6b9e368'/>
<id>urn:sha1:a1681781da691a95c2277d9dbd7f5962b6b9e368</id>
<content type='text'>
While the mapping between I2C adapter functionality flags and
i2c_smbus_*() helper functions is rather obvious, let's still document
it for clarity.

Also drop the reference to 2 command byte I2C block reads, there is no
support for that in the kernel at the moment.

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
</content>
</entry>
<entry>
<title>i2c: Functions for byte-swapped smbus_write/read_word_data</title>
<updated>2011-10-30T12:47:25Z</updated>
<author>
<name>Jonathan Cameron</name>
<email>jic23@cam.ac.uk</email>
</author>
<published>2011-10-30T12:47:25Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=06a67848c6681a73e621e47c056490d51a07289f'/>
<id>urn:sha1:06a67848c6681a73e621e47c056490d51a07289f</id>
<content type='text'>
Reimplemented at least 17 times discounting error mangling cases
where it could be used.

Signed-off-by: Jonathan Cameron &lt;jic23@cam.ac.uk&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
</content>
</entry>
<entry>
<title>i2c: Add SMBus alert support</title>
<updated>2010-03-02T11:23:42Z</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2010-03-02T11:23:42Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=b5527a7766f0505dc72efe3cefe5e9dea826f611'/>
<id>urn:sha1:b5527a7766f0505dc72efe3cefe5e9dea826f611</id>
<content type='text'>
SMBus alert support. 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 based on preliminary work by David Brownell. The key
difference between David's implementation and mine is that his was
part of i2c-core, while mine is split into a separate, standalone
module named i2c-smbus. The i2c-smbus module is meant to include
support for all SMBus extensions to the I2C protocol in the future.

The benefit of this approach is a zero cost for I2C bus segments which
do not need SMBus alert support. Where David's implementation
increased the size of struct i2c_adapter by 7% (40 bytes on i386),
mine doesn't touch it. Where David's implementation added over 150
lines of code to i2c-core (+10%), mine doesn't touch it. The only
change that touches all the users of the i2c subsystem is a new
callback in struct i2c_driver (common to both implementations.) I seem
to remember Trent was worried about the footprint of David'd
implementation, hopefully mine addresses the issue.

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Acked-by: Jonathan Cameron &lt;jic23@cam.ac.uk&gt;
Cc: David Brownell &lt;dbrownell@users.sourceforge.net&gt;
Cc: Trent Piepho &lt;tpiepho@freescale.com&gt;
</content>
</entry>
<entry>
<title>i2c: Restore i2c_smbus_process_call function</title>
<updated>2008-10-14T15:30:06Z</updated>
<author>
<name>Prakash Mortha</name>
<email>pmortha@escient.com</email>
</author>
<published>2008-10-14T15:30:06Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=596c88f4601e6245a15ea7619527674abbfdcf92'/>
<id>urn:sha1:596c88f4601e6245a15ea7619527674abbfdcf92</id>
<content type='text'>
Restore the i2c_smbus_process_call() as one driver (for the
Micronas MAP5401) will need it soon.

[JD: Update documentation accordingly.]

Signed-off-by: Prakash Mortha &lt;pmortha@escient.com&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
</content>
</entry>
<entry>
<title>i2c: Delete unused function i2c_smbus_write_quick</title>
<updated>2008-07-14T20:38:23Z</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2008-07-14T20:38:23Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=67c2e66571c383404a5acd08189194da660da942'/>
<id>urn:sha1:67c2e66571c383404a5acd08189194da660da942</id>
<content type='text'>
Function i2c_smbus_write_quick has no users left, so we can delete it.

Also update the list of these helper functions which are gone but
could be added back if needed.

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
</content>
</entry>
<entry>
<title>i2c: Improve smbus-protocol documentation</title>
<updated>2008-05-11T18:37:05Z</updated>
<author>
<name>David Brownell</name>
<email>david-b@pacbell.net</email>
</author>
<published>2008-05-11T18:37:05Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/linux-dev/commit/?id=1a31a88f4f1a14f0b28ec3c5c179b93a10b24a18'/>
<id>urn:sha1:1a31a88f4f1a14f0b28ec3c5c179b93a10b24a18</id>
<content type='text'>
Improve the smbus-protocol documentation file somewhat:

 - Use the names of the SMBus protocol operations (from the 2.0
   specification), not made-up-for-Linux names.

 - Add the name of the call used to execute each operation ... and
   point out that there are mismatches, where functions execute
   different protocol operations than their names specify.
   
The most confusing examples are that "Read Byte" isn't executed by
i2c_smbus_read_byte(), and that "Write Byte" isn't executed by
i2c_smbus_write_byte().  When coding, that's not as bad as it may
seem; but that case would seem to be worth fixing.

Signed-off-by: David Brownell &lt;dbrownell@users.sourceforge.net&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
</content>
</entry>
</feed>
