summaryrefslogtreecommitdiffstats
path: root/include/linux/i2c.h
diff options
context:
space:
mode:
authorBenjamin Tissoires2016-06-09 16:53:47 +0200
committerWolfram Sang2016-06-17 12:41:25 +0200
commitb4f210541fc319bd643ad9a4fdbfe2ce31be6cfc (patch)
tree2357245596d833d1de83be817a08bbd2ba410966 /include/linux/i2c.h
parenti2c: robotfuzz-osif: Constify osif_table (diff)
downloadkernel-qcow2-linux-b4f210541fc319bd643ad9a4fdbfe2ce31be6cfc.tar.gz
kernel-qcow2-linux-b4f210541fc319bd643ad9a4fdbfe2ce31be6cfc.tar.xz
kernel-qcow2-linux-b4f210541fc319bd643ad9a4fdbfe2ce31be6cfc.zip
i2c: add a protocol parameter to the alert callback
.alert() is meant to be generic, but there is currently no way for the device driver to know which protocol generated the alert. Add a parameter in .alert() to help the device driver to understand what is given in data. This patch is required to have the support of SMBus Host Notify protocol through .alert(). Tested-by: Andrew Duggan <aduggan@synaptics.com> For hwmon: Acked-by: Guenter Roeck <linux@roeck-us.net> For IPMI: Acked-by: Corey Minyard <cminyard@mvista.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'include/linux/i2c.h')
-rw-r--r--include/linux/i2c.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 6df7bad8c26c..37a45dcd6592 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -126,6 +126,10 @@ i2c_smbus_read_i2c_block_data_or_emulated(const struct i2c_client *client,
u8 command, u8 length, u8 *values);
#endif /* I2C */
+enum i2c_alert_protocol {
+ I2C_PROTOCOL_SMBUS_ALERT,
+};
+
/**
* struct i2c_driver - represent an I2C device driver
* @class: What kind of i2c device we instantiate (for detect)
@@ -181,7 +185,8 @@ struct i2c_driver {
* For the SMBus alert protocol, there is a single bit of data passed
* as the alert response's low bit ("event flag").
*/
- void (*alert)(struct i2c_client *, unsigned int data);
+ void (*alert)(struct i2c_client *, enum i2c_alert_protocol protocol,
+ unsigned int data);
/* a ioctl like command that can be used to perform specific functions
* with the device.