diff options
author | Benjamin Tissoires <benjamin.tissoires@redhat.com> | 2016-06-09 16:53:48 +0200 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2016-06-17 13:24:05 +0200 |
commit | e456cd37bc28abe47dc65189df916ac0510ac1d4 (patch) | |
tree | 28f3dc9cdf024c2ee088002cb00ec526b87a4e34 /Documentation/i2c | |
parent | b4f210541fc319bd643ad9a4fdbfe2ce31be6cfc (diff) | |
download | linux-e456cd37bc28abe47dc65189df916ac0510ac1d4.tar.gz linux-e456cd37bc28abe47dc65189df916ac0510ac1d4.tar.bz2 linux-e456cd37bc28abe47dc65189df916ac0510ac1d4.zip |
i2c: smbus: add SMBus Host Notify support
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 <aduggan@synaptics.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'Documentation/i2c')
-rw-r--r-- | Documentation/i2c/smbus-protocol | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Documentation/i2c/smbus-protocol b/Documentation/i2c/smbus-protocol index 6012b12b3510..14d4ec1be245 100644 --- a/Documentation/i2c/smbus-protocol +++ b/Documentation/i2c/smbus-protocol @@ -199,6 +199,12 @@ alerting device's address. [S] [HostAddr] [Wr] A [DevAddr] A [DataLow] A [DataHigh] A [P] +This is implemented in the following way in the Linux kernel: +* I2C bus drivers which support SMBus Host Notify should call + i2c_setup_smbus_host_notify() to setup SMBus Host Notify support. +* I2C drivers for devices which can trigger SMBus Host Notify should implement + the optional alert() callback. + Packet Error Checking (PEC) =========================== |