[media] ddbridge: add i2c_read_regs()
authorDaniel Scheller <d.scheller@gmx.net>
Wed, 29 Mar 2017 16:43:12 +0000 (13:43 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Tue, 20 Jun 2017 12:28:26 +0000 (09:28 -0300)
Adds new i2c_read_regs() function and make i2c_read_reg() wrap into this
with len=1. Required for the tuner_tda18212_ping() and XO2 handling
functions (part of the Sony CXD28xx support patch series).

Signed-off-by: Daniel Scheller <d.scheller@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/pci/ddbridge/ddbridge-core.c

index 09b5338..f2ec7a9 100644 (file)
@@ -54,15 +54,21 @@ static int i2c_read(struct i2c_adapter *adapter, u8 adr, u8 *val)
        return (i2c_transfer(adapter, msgs, 1) == 1) ? 0 : -1;
 }
 
-static int i2c_read_reg(struct i2c_adapter *adapter, u8 adr, u8 reg, u8 *val)
+static int i2c_read_regs(struct i2c_adapter *adapter,
+                        u8 adr, u8 reg, u8 *val, u8 len)
 {
        struct i2c_msg msgs[2] = {{.addr = adr,  .flags = 0,
                                   .buf  = &reg, .len   = 1 },
                                  {.addr = adr,  .flags = I2C_M_RD,
-                                  .buf  = val,  .len   = 1 } };
+                                  .buf  = val,  .len   = len } };
        return (i2c_transfer(adapter, msgs, 2) == 2) ? 0 : -1;
 }
 
+static int i2c_read_reg(struct i2c_adapter *adapter, u8 adr, u8 reg, u8 *val)
+{
+       return i2c_read_regs(adapter, adr, reg, val, 1);
+}
+
 static int i2c_read_reg16(struct i2c_adapter *adapter, u8 adr,
                          u16 reg, u8 *val)
 {