X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=include%2Flinux%2Fi2c.h;h=0a5da639b32725388c8015ce4f4ca121380cf39b;hb=548b84166917d6f5e2296123b85ad24aecd3801d;hp=02fc617782ef7b5f5046cc9b6ac7df88536e24b9;hpb=adbfbcd12af3d183957622a99ca009b665639b81;p=deliverable%2Flinux.git diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 02fc617782ef..0a5da639b327 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h @@ -53,6 +53,7 @@ struct i2c_board_info; * on a bus (or read from them). Apart from two basic transfer functions to * transmit one message at a time, a more complex version can be used to * transmit an arbitrary number of messages without interruption. + * @count must be be less than 64k since msg.len is u16. */ extern int i2c_master_send(struct i2c_client *client, const char *buf, int count); @@ -152,6 +153,13 @@ struct i2c_driver { int (*suspend)(struct i2c_client *, pm_message_t mesg); int (*resume)(struct i2c_client *); + /* Alert callback, for example for the SMBus alert protocol. + * The format and meaning of the data value depends on the protocol. + * 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); + /* a ioctl like command that can be used to perform specific functions * with the device. */