Merge tag 'mvebu-fixes-3.18-2' of git://git.infradead.org/linux-mvebu into fixes
[deliverable/linux.git] / drivers / mfd / tps65910.c
index f243e75d28f31198a19ad7442aa4159595088622..7612d89850ddf55566ac5bacbb3dae7111ea965a 100644 (file)
@@ -486,6 +486,11 @@ static int tps65910_i2c_probe(struct i2c_client *i2c,
        tps65910->i2c_client = i2c;
        tps65910->id = chip_id;
 
+       /* Work around silicon erratum SWCZ010: the tps65910 may miss the
+        * first I2C transfer. So issue a dummy transfer before the first
+        * real transfer.
+        */
+       i2c_master_send(i2c, "", 1);
        tps65910->regmap = devm_regmap_init_i2c(i2c, &tps65910_regmap_config);
        if (IS_ERR(tps65910->regmap)) {
                ret = PTR_ERR(tps65910->regmap);
This page took 0.026732 seconds and 5 git commands to generate.