regulator: da9211: Hand over GPIO to regulator core
[linux-2.6-block.git] / drivers / regulator / da9211-regulator.c
index 8f68c7a05d27968970287c8811f5e1764c1ad859..109ee12d43626ce2822ba872c252000bf3e7cea1 100644 (file)
@@ -389,6 +389,12 @@ static int da9211_regulator_init(struct da9211 *chip)
                else
                        config.ena_gpiod = NULL;
 
+               /*
+                * Hand the GPIO descriptor management over to the regulator
+                * core, remove it from GPIO devres management.
+                */
+               if (config.ena_gpiod)
+                       devm_gpiod_unhinge(chip->dev, config.ena_gpiod);
                chip->rdev[i] = devm_regulator_register(chip->dev,
                        &da9211_regulators[i], &config);
                if (IS_ERR(chip->rdev[i])) {