summaryrefslogtreecommitdiffstats
path: root/drivers/i2c/busses/i2c-designware.c
diff options
context:
space:
mode:
authorShinya Kuribayashi2009-11-06 13:50:02 +0100
committerBen Dooks2009-12-09 01:19:12 +0100
commit52d7e430cff3f076d5ae5587e94f2e9b832b85d2 (patch)
treeceac1b806a2e0b6e45aa58875ad88e2ca3adc89a /drivers/i2c/busses/i2c-designware.c
parenti2c-designware: Initialize byte count variables just prior to being used (diff)
downloadkernel-qcow2-linux-52d7e430cff3f076d5ae5587e94f2e9b832b85d2.tar.gz
kernel-qcow2-linux-52d7e430cff3f076d5ae5587e94f2e9b832b85d2.tar.xz
kernel-qcow2-linux-52d7e430cff3f076d5ae5587e94f2e9b832b85d2.zip
i2c-designware: i2c_dw_func: Set I2C_FUNC_SMBUS_foo bits
Set proper I2C_FUNC_SMBUS_* bits so that the driver could be used with some utilities requiring SMBus functionalities, such as i2c-tools. Note that DW I2C core doesn't support I2C_FUNC_SMBUS_QUICK, as it's not capable of zero-length data transactions. Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi@necel.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'drivers/i2c/busses/i2c-designware.c')
-rw-r--r--drivers/i2c/busses/i2c-designware.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-designware.c b/drivers/i2c/busses/i2c-designware.c
index c3702a8647cb..5ba7e55eb7f4 100644
--- a/drivers/i2c/busses/i2c-designware.c
+++ b/drivers/i2c/busses/i2c-designware.c
@@ -528,7 +528,12 @@ done:
static u32 i2c_dw_func(struct i2c_adapter *adap)
{
- return I2C_FUNC_I2C | I2C_FUNC_10BIT_ADDR;
+ return I2C_FUNC_I2C |
+ I2C_FUNC_10BIT_ADDR |
+ I2C_FUNC_SMBUS_BYTE |
+ I2C_FUNC_SMBUS_BYTE_DATA |
+ I2C_FUNC_SMBUS_WORD_DATA |
+ I2C_FUNC_SMBUS_I2C_BLOCK;
}
static u32 i2c_dw_read_clear_intrbits(struct dw_i2c_dev *dev)