From: Mark Brown Date: Sun, 30 Aug 2015 13:39:14 +0000 (+0100) Subject: Merge remote-tracking branches 'regulator/topic/da9210', 'regulator/topic/da9211... X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=11f24823667400983a05e6099d645f523d1989ef;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git Merge remote-tracking branches 'regulator/topic/da9210', 'regulator/topic/da9211', 'regulator/topic/fan53555', 'regulator/topic/isl9305' and 'regulator/topic/list' into regulator-next --- 11f24823667400983a05e6099d645f523d1989ef diff --cc drivers/regulator/core.c index 584cbbd38d47,c9f72019bd68,c9f72019bd68,c9f72019bd68,c9f72019bd68,0c0e9ab94d4d..4315476540c4 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@@@@@@ -109,8 -109,7 -109,7 -109,7 -109,7 -109,12 +109,13 @@@@@@@ static int _regulator_do_set_voltage(st static struct regulator *create_regulator(struct regulator_dev *rdev, struct device *dev, const char *supply_name); +++++static void _regulator_put(struct regulator *regulator); ++++ +++++ static struct regulator_dev *dev_to_rdev(struct device *dev) +++++ { +++++ return container_of(dev, struct regulator_dev, dev); +++++ } + static const char *rdev_get_name(struct regulator_dev *rdev) { if (rdev->constraints && rdev->constraints->name) @@@@@@@ -1599,11 -1584,9 -1584,9 -1584,9 -1584,9 -1593,11 +1604,11 @@@@@@@ static void _regulator_put(struct regul { struct regulator_dev *rdev; ----- if (regulator == NULL || IS_ERR(regulator)) +++++ if (IS_ERR_OR_NULL(regulator)) return; ++++ lockdep_assert_held_once(®ulator_list_mutex); ++++ rdev = regulator->rdev; debugfs_remove_recursive(regulator->debugfs); @@@@@@@ -3838,11 -3813,11 -3813,11 -3813,11 -3813,11 -3836,9 +3847,9 @@@@@@@ void regulator_unregister(struct regula WARN_ON(rdev->open_count); unset_regulator_supplies(rdev); list_del(&rdev->list); ---- kfree(rdev->constraints); ++++ mutex_unlock(®ulator_list_mutex); - kfree(rdev->constraints); regulator_ena_gpio_free(rdev); ----- of_node_put(rdev->dev.of_node); device_unregister(&rdev->dev); ---- mutex_unlock(®ulator_list_mutex); } EXPORT_SYMBOL_GPL(regulator_unregister);