From 5d24f688220debafd3de916e9e02c8d7c0472589 Mon Sep 17 00:00:00 2001 From: Shengfei xu Date: Wed, 27 Jan 2016 17:28:59 +0800 Subject: [PATCH] regulator: rk818: remove the repeated operations. Populates regulator_init_data structure by extracting data from device tree node, when regulator drivers register a regulator. so we don't repeat it. Change-Id: I481e7c802a24916f15c5b3a5eaf66f32dc0272d7 Signed-off-by: Shengfei xu --- drivers/regulator/rk818-regulator.c | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/drivers/regulator/rk818-regulator.c b/drivers/regulator/rk818-regulator.c index 6fe92365498a..30496c6f157d 100644 --- a/drivers/regulator/rk818-regulator.c +++ b/drivers/regulator/rk818-regulator.c @@ -395,43 +395,16 @@ static struct of_regulator_match rk818_reg_matches[] = { [RK818_ID_SWITCH] = { .name = "SWITCH_REG" }, }; -static int rk818_regulator_dt_parse_pdata(struct device *dev, - struct device *client_dev, - struct regmap *map) -{ - struct device_node *np; - int ret; - - np = of_get_child_by_name(client_dev->of_node, "regulators"); - if (!np) - return -ENXIO; - - ret = of_regulator_match(dev, np, rk818_reg_matches, - RK818_NUM_REGULATORS); - - of_node_put(np); - return ret; -} - static int rk818_regulator_probe(struct platform_device *pdev) { struct rk808 *rk818 = dev_get_drvdata(pdev->dev.parent); struct i2c_client *client = rk818->i2c; struct regulator_config config = {}; struct regulator_dev *rk818_rdev; - int ret, i; - - ret = rk818_regulator_dt_parse_pdata(&pdev->dev, &client->dev, - rk818->regmap); - if (ret < 0) - return ret; + int i; /* Instantiate the regulators */ for (i = 0; i < RK818_NUM_REGULATORS; i++) { - if (!rk818_reg_matches[i].init_data || - !rk818_reg_matches[i].of_node) - continue; - config.dev = &client->dev; config.regmap = rk818->regmap; config.of_node = rk818_reg_matches[i].of_node; -- 2.34.1