Loading drivers/regulator/core.c +28 −0 Original line number Diff line number Diff line Loading @@ -1421,6 +1421,34 @@ void regulator_put(struct regulator *regulator) } EXPORT_SYMBOL_GPL(regulator_put); static int devm_regulator_match(struct device *dev, void *res, void *data) { struct regulator **r = res; if (!r || !*r) { WARN_ON(!r || !*r); return 0; } return *r == data; } /** * devm_regulator_put - Resource managed regulator_put() * @regulator: regulator to free * * Deallocate a regulator allocated with devm_regulator_get(). Normally * this function will not need to be called and the resource management * code will ensure that the resource is freed. */ void devm_regulator_put(struct regulator *regulator) { int rc; rc = devres_destroy(regulator->dev, devm_regulator_release, devm_regulator_match, regulator); WARN_ON(rc); } EXPORT_SYMBOL_GPL(devm_regulator_put); static int _regulator_can_change_status(struct regulator_dev *rdev) { if (!rdev->constraints) Loading include/linux/regulator/consumer.h +1 −0 Original line number Diff line number Diff line Loading @@ -137,6 +137,7 @@ struct regulator *__must_check devm_regulator_get(struct device *dev, struct regulator *__must_check regulator_get_exclusive(struct device *dev, const char *id); void regulator_put(struct regulator *regulator); void devm_regulator_free(struct regulator *regulator); /* regulator output control and status */ int regulator_enable(struct regulator *regulator); Loading Loading
drivers/regulator/core.c +28 −0 Original line number Diff line number Diff line Loading @@ -1421,6 +1421,34 @@ void regulator_put(struct regulator *regulator) } EXPORT_SYMBOL_GPL(regulator_put); static int devm_regulator_match(struct device *dev, void *res, void *data) { struct regulator **r = res; if (!r || !*r) { WARN_ON(!r || !*r); return 0; } return *r == data; } /** * devm_regulator_put - Resource managed regulator_put() * @regulator: regulator to free * * Deallocate a regulator allocated with devm_regulator_get(). Normally * this function will not need to be called and the resource management * code will ensure that the resource is freed. */ void devm_regulator_put(struct regulator *regulator) { int rc; rc = devres_destroy(regulator->dev, devm_regulator_release, devm_regulator_match, regulator); WARN_ON(rc); } EXPORT_SYMBOL_GPL(devm_regulator_put); static int _regulator_can_change_status(struct regulator_dev *rdev) { if (!rdev->constraints) Loading
include/linux/regulator/consumer.h +1 −0 Original line number Diff line number Diff line Loading @@ -137,6 +137,7 @@ struct regulator *__must_check devm_regulator_get(struct device *dev, struct regulator *__must_check regulator_get_exclusive(struct device *dev, const char *id); void regulator_put(struct regulator *regulator); void devm_regulator_free(struct regulator *regulator); /* regulator output control and status */ int regulator_enable(struct regulator *regulator); Loading