diff options
Diffstat (limited to 'drivers/mfd/max77693.c')
-rw-r--r-- | drivers/mfd/max77693.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/drivers/mfd/max77693.c b/drivers/mfd/max77693.c index a1811cb50ec7..cc5155e20494 100644 --- a/drivers/mfd/max77693.c +++ b/drivers/mfd/max77693.c | |||
@@ -152,6 +152,20 @@ static int max77693_i2c_probe(struct i2c_client *i2c, | |||
152 | max77693->haptic = i2c_new_dummy(i2c->adapter, I2C_ADDR_HAPTIC); | 152 | max77693->haptic = i2c_new_dummy(i2c->adapter, I2C_ADDR_HAPTIC); |
153 | i2c_set_clientdata(max77693->haptic, max77693); | 153 | i2c_set_clientdata(max77693->haptic, max77693); |
154 | 154 | ||
155 | /* | ||
156 | * Initialize register map for MUIC device because use regmap-muic | ||
157 | * instance of MUIC device when irq of max77693 is initialized | ||
158 | * before call max77693-muic probe() function. | ||
159 | */ | ||
160 | max77693->regmap_muic = devm_regmap_init_i2c(max77693->muic, | ||
161 | &max77693_regmap_config); | ||
162 | if (IS_ERR(max77693->regmap_muic)) { | ||
163 | ret = PTR_ERR(max77693->regmap_muic); | ||
164 | dev_err(max77693->dev, | ||
165 | "failed to allocate register map: %d\n", ret); | ||
166 | goto err_regmap; | ||
167 | } | ||
168 | |||
155 | ret = max77693_irq_init(max77693); | 169 | ret = max77693_irq_init(max77693); |
156 | if (ret < 0) | 170 | if (ret < 0) |
157 | goto err_irq; | 171 | goto err_irq; |
@@ -159,7 +173,7 @@ static int max77693_i2c_probe(struct i2c_client *i2c, | |||
159 | pm_runtime_set_active(max77693->dev); | 173 | pm_runtime_set_active(max77693->dev); |
160 | 174 | ||
161 | ret = mfd_add_devices(max77693->dev, -1, max77693_devs, | 175 | ret = mfd_add_devices(max77693->dev, -1, max77693_devs, |
162 | ARRAY_SIZE(max77693_devs), NULL, 0); | 176 | ARRAY_SIZE(max77693_devs), NULL, 0, NULL); |
163 | if (ret < 0) | 177 | if (ret < 0) |
164 | goto err_mfd; | 178 | goto err_mfd; |
165 | 179 | ||