diff options
author | Axel Lin <axel.lin@ingics.com> | 2012-12-24 17:16:43 +0100 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2013-01-22 03:02:21 +0100 |
commit | 136d982ecae912c815587a1653f235f0ef570da8 (patch) | |
tree | a6b4fbf218beeafe1c147a8a321ed511d36323ff /drivers/mfd/max77686.c | |
parent | mfd: db8500-prcmu: Fix irqdomain usage (diff) | |
download | linux-136d982ecae912c815587a1653f235f0ef570da8.tar.xz linux-136d982ecae912c815587a1653f235f0ef570da8.zip |
mfd: max77686: Init max77686->dev before using it
Current code uses max77686->dev in the dev_err call before setting it to
&i2c->dev. Fix it.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd/max77686.c')
-rw-r--r-- | drivers/mfd/max77686.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/mfd/max77686.c b/drivers/mfd/max77686.c index f6878f8db57d..4d73963cd8f0 100644 --- a/drivers/mfd/max77686.c +++ b/drivers/mfd/max77686.c @@ -93,15 +93,6 @@ static int max77686_i2c_probe(struct i2c_client *i2c, if (max77686 == NULL) return -ENOMEM; - max77686->regmap = regmap_init_i2c(i2c, &max77686_regmap_config); - if (IS_ERR(max77686->regmap)) { - ret = PTR_ERR(max77686->regmap); - dev_err(max77686->dev, "Failed to allocate register map: %d\n", - ret); - kfree(max77686); - return ret; - } - i2c_set_clientdata(i2c, max77686); max77686->dev = &i2c->dev; max77686->i2c = i2c; @@ -111,6 +102,15 @@ static int max77686_i2c_probe(struct i2c_client *i2c, max77686->irq_gpio = pdata->irq_gpio; max77686->irq = i2c->irq; + max77686->regmap = regmap_init_i2c(i2c, &max77686_regmap_config); + if (IS_ERR(max77686->regmap)) { + ret = PTR_ERR(max77686->regmap); + dev_err(max77686->dev, "Failed to allocate register map: %d\n", + ret); + kfree(max77686); + return ret; + } + if (regmap_read(max77686->regmap, MAX77686_REG_DEVICE_ID, &data) < 0) { dev_err(max77686->dev, |