]> Pileus Git - ~andy/linux/commitdiff
mfd: max77693: Set proper maximum register for MUIC regmap
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>
Fri, 20 Dec 2013 09:35:08 +0000 (10:35 +0100)
committerLee Jones <lee.jones@linaro.org>
Tue, 21 Jan 2014 08:28:13 +0000 (08:28 +0000)
The MUIC block in max77693 has different I2C address than PMIC. The
driver allocated two regmaps: for PMIC and MUIC. However it used the
same regmap_config (with max_register field) for both regmaps. Actual
maximum address of register for MUIC is different than for PMIC.

Define another regmap_config for MUIC with proper max_register value.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/max77693.c

index a0093a839d4b6fcb397f474248ee7962b2952b5d..e0859987ab6bc5c078c81f3ce937170bfc8a2bee 100644 (file)
@@ -107,6 +107,12 @@ static const struct regmap_config max77693_regmap_config = {
        .max_register = MAX77693_PMIC_REG_END,
 };
 
+static const struct regmap_config max77693_regmap_muic_config = {
+       .reg_bits = 8,
+       .val_bits = 8,
+       .max_register = MAX77693_MUIC_REG_END,
+};
+
 static int max77693_i2c_probe(struct i2c_client *i2c,
                              const struct i2c_device_id *id)
 {
@@ -153,7 +159,7 @@ static int max77693_i2c_probe(struct i2c_client *i2c,
         * before call max77693-muic probe() function.
         */
        max77693->regmap_muic = devm_regmap_init_i2c(max77693->muic,
-                                        &max77693_regmap_config);
+                                        &max77693_regmap_muic_config);
        if (IS_ERR(max77693->regmap_muic)) {
                ret = PTR_ERR(max77693->regmap_muic);
                dev_err(max77693->dev,