From e926e7fd710e726bc5db4783f076decb8de0b9b6 Mon Sep 17 00:00:00 2001 From: Laxman Dewangan Date: Fri, 3 Aug 2012 16:41:18 +0530 Subject: regulator: core: support of supply name through desc Add support of providing the supply name through regualtor descriptor. This help to fill the supply name in device based on datasheet. This patch help to develop driver which is align with mainline. This change is small set of change in mainline --------------- commit 69511a452e6dc6b74fe4f3671a51b1b44b9c57e3 Author: Rajendra Nayak regulator: map consumer regulator based on device tree --------------- Change-Id: Ia3112f29efe4f0e0c9e98f2b7943255b2eae4c49 Signed-off-by: Laxman Dewangan Reviewed-on: http://git-master/r/120883 --- drivers/regulator/core.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'drivers/regulator/core.c') diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index cbe36b93639b..26f8776f8eee 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -2654,6 +2654,7 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, static atomic_t regulator_no = ATOMIC_INIT(0); struct regulator_dev *rdev; int ret, i; + const char *supply = NULL; if (regulator_desc == NULL) return ERR_PTR(-EINVAL); @@ -2728,21 +2729,24 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, if (ret < 0) goto scrub; - if (init_data->supply_regulator) { + if (init_data->supply_regulator) + supply = init_data->supply_regulator; + else if (regulator_desc->supply_name) + supply = regulator_desc->supply_name; + + if (supply) { struct regulator_dev *r; int found = 0; list_for_each_entry(r, ®ulator_list, list) { - if (strcmp(rdev_get_name(r), - init_data->supply_regulator) == 0) { + if (strcmp(rdev_get_name(r), supply) == 0) { found = 1; break; } } if (!found) { - dev_err(dev, "Failed to find supply %s\n", - init_data->supply_regulator); + dev_err(dev, "Failed to find supply %s\n", supply); ret = -ENODEV; goto scrub; } -- cgit v1.2.3