diff options
Diffstat (limited to 'drivers/regulator/tps65217-regulator.c')
-rw-r--r-- | drivers/regulator/tps65217-regulator.c | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/drivers/regulator/tps65217-regulator.c b/drivers/regulator/tps65217-regulator.c index 9ea1bf26bd13..10b78d2b766a 100644 --- a/drivers/regulator/tps65217-regulator.c +++ b/drivers/regulator/tps65217-regulator.c | |||
@@ -187,7 +187,7 @@ static struct tps65217_board *tps65217_parse_dt(struct platform_device *pdev) | |||
187 | struct device_node *regs; | 187 | struct device_node *regs; |
188 | int i, count; | 188 | int i, count; |
189 | 189 | ||
190 | regs = of_find_node_by_name(node, "regulators"); | 190 | regs = of_get_child_by_name(node, "regulators"); |
191 | if (!regs) | 191 | if (!regs) |
192 | return NULL; | 192 | return NULL; |
193 | 193 | ||
@@ -202,7 +202,7 @@ static struct tps65217_board *tps65217_parse_dt(struct platform_device *pdev) | |||
202 | return NULL; | 202 | return NULL; |
203 | 203 | ||
204 | for (i = 0; i < count; i++) { | 204 | for (i = 0; i < count; i++) { |
205 | if (!reg_matches[i].init_data || !reg_matches[i].of_node) | 205 | if (!reg_matches[i].of_node) |
206 | continue; | 206 | continue; |
207 | 207 | ||
208 | pdata->tps65217_init_data[i] = reg_matches[i].init_data; | 208 | pdata->tps65217_init_data[i] = reg_matches[i].init_data; |
@@ -222,7 +222,6 @@ static int tps65217_regulator_probe(struct platform_device *pdev) | |||
222 | { | 222 | { |
223 | struct tps65217 *tps = dev_get_drvdata(pdev->dev.parent); | 223 | struct tps65217 *tps = dev_get_drvdata(pdev->dev.parent); |
224 | struct tps65217_board *pdata = dev_get_platdata(tps->dev); | 224 | struct tps65217_board *pdata = dev_get_platdata(tps->dev); |
225 | struct regulator_init_data *reg_data; | ||
226 | struct regulator_dev *rdev; | 225 | struct regulator_dev *rdev; |
227 | struct regulator_config config = { }; | 226 | struct regulator_config config = { }; |
228 | int i; | 227 | int i; |
@@ -243,19 +242,9 @@ static int tps65217_regulator_probe(struct platform_device *pdev) | |||
243 | platform_set_drvdata(pdev, tps); | 242 | platform_set_drvdata(pdev, tps); |
244 | 243 | ||
245 | for (i = 0; i < TPS65217_NUM_REGULATOR; i++) { | 244 | for (i = 0; i < TPS65217_NUM_REGULATOR; i++) { |
246 | |||
247 | reg_data = pdata->tps65217_init_data[i]; | ||
248 | |||
249 | /* | ||
250 | * Regulator API handles empty constraints but not NULL | ||
251 | * constraints | ||
252 | */ | ||
253 | if (!reg_data) | ||
254 | continue; | ||
255 | |||
256 | /* Register the regulators */ | 245 | /* Register the regulators */ |
257 | config.dev = tps->dev; | 246 | config.dev = tps->dev; |
258 | config.init_data = reg_data; | 247 | config.init_data = pdata->tps65217_init_data[i]; |
259 | config.driver_data = tps; | 248 | config.driver_data = tps; |
260 | config.regmap = tps->regmap; | 249 | config.regmap = tps->regmap; |
261 | if (tps->dev->of_node) | 250 | if (tps->dev->of_node) |