mfd: max77686: Fix regmap resource leak on driver remove
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>
Fri, 20 Dec 2013 09:35:07 +0000 (10:35 +0100)
committerLee Jones <lee.jones@linaro.org>
Tue, 21 Jan 2014 08:28:13 +0000 (08:28 +0000)
The regmap used by max77686 MFD driver was not freed with regmap_exit()
on driver exit. This lead to leak of resources.

Replace regmap_init_i2c() call in driver probe with initialization of
managed register map so the regmap will be properly freed by the device
management code.

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

index fb08485..f53d582 100644 (file)
@@ -104,7 +104,7 @@ 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);
+       max77686->regmap = devm_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",