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-Tag: submit/tizen/20160607.132125~1896^2~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=11f24823667400983a05e6099d645f523d1989ef;p=sdk%2Femulator%2Femulator-kernel.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 584cbbd,c9f7201,c9f7201,c9f7201,c9f7201,0c0e9ab..4315476 --- 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);