aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/usb/em28xx/em28xx-i2c.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/media/usb/em28xx/em28xx-i2c.c b/drivers/media/usb/em28xx/em28xx-i2c.c
index 67a8e623dd8c..4a24ed08e46a 100644
--- a/drivers/media/usb/em28xx/em28xx-i2c.c
+++ b/drivers/media/usb/em28xx/em28xx-i2c.c
@@ -445,7 +445,11 @@ static int em28xx_i2c_eeprom(struct em28xx *dev, unsigned char *eedata, int len)
445 */ 445 */
446static u32 functionality(struct i2c_adapter *adap) 446static u32 functionality(struct i2c_adapter *adap)
447{ 447{
448 return I2C_FUNC_SMBUS_EMUL; 448 struct em28xx *dev = adap->algo_data;
449 u32 func_flags = I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL;
450 if (dev->board.is_em2800)
451 func_flags &= ~I2C_FUNC_SMBUS_WRITE_BLOCK_DATA;
452 return func_flags;
449} 453}
450 454
451static struct i2c_algorithm em28xx_algo = { 455static struct i2c_algorithm em28xx_algo = {