regulator: tps65090: switch to using devm_fwnode_gpiod_get
devm_gpiod_get_from_of_node() is being retired in favor of devm_fwnode_gpiod_get_index(), that behaves similar to devm_gpiod_get_index(), but can work with arbitrary firmware node. It will also be able to support secondary software nodes. Let's switch this driver over. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Link: https://lore.kernel.org/r/20191004231017.130290-4-dmitry.torokhov@gmail.com Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
de2cd1a552
commit
51d98ff861
|
@ -346,16 +346,20 @@ static struct tps65090_platform_data *tps65090_parse_dt_reg_data(
|
|||
for (idx = 0; idx < ARRAY_SIZE(tps65090_matches); idx++) {
|
||||
struct regulator_init_data *ri_data;
|
||||
struct tps65090_regulator_plat_data *rpdata;
|
||||
struct device_node *np;
|
||||
|
||||
rpdata = ®_pdata[idx];
|
||||
ri_data = tps65090_matches[idx].init_data;
|
||||
if (!ri_data || !tps65090_matches[idx].of_node)
|
||||
if (!ri_data)
|
||||
continue;
|
||||
|
||||
np = tps65090_matches[idx].of_node;
|
||||
if (!np)
|
||||
continue;
|
||||
|
||||
rpdata->reg_init_data = ri_data;
|
||||
rpdata->enable_ext_control = of_property_read_bool(
|
||||
tps65090_matches[idx].of_node,
|
||||
"ti,enable-ext-control");
|
||||
rpdata->enable_ext_control = of_property_read_bool(np,
|
||||
"ti,enable-ext-control");
|
||||
if (rpdata->enable_ext_control) {
|
||||
enum gpiod_flags gflags;
|
||||
|
||||
|
@ -366,11 +370,12 @@ static struct tps65090_platform_data *tps65090_parse_dt_reg_data(
|
|||
gflags = GPIOD_OUT_LOW;
|
||||
gflags |= GPIOD_FLAGS_BIT_NONEXCLUSIVE;
|
||||
|
||||
rpdata->gpiod = devm_gpiod_get_from_of_node(&pdev->dev,
|
||||
tps65090_matches[idx].of_node,
|
||||
"dcdc-ext-control-gpios", 0,
|
||||
gflags,
|
||||
"tps65090");
|
||||
rpdata->gpiod = devm_fwnode_gpiod_get(
|
||||
&pdev->dev,
|
||||
of_fwnode_handle(np),
|
||||
"dcdc-ext-control",
|
||||
gflags,
|
||||
"tps65090");
|
||||
if (PTR_ERR(rpdata->gpiod) == -ENOENT) {
|
||||
dev_err(&pdev->dev,
|
||||
"could not find DCDC external control GPIO\n");
|
||||
|
@ -379,8 +384,7 @@ static struct tps65090_platform_data *tps65090_parse_dt_reg_data(
|
|||
return ERR_CAST(rpdata->gpiod);
|
||||
}
|
||||
|
||||
if (of_property_read_u32(tps65090_matches[idx].of_node,
|
||||
"ti,overcurrent-wait",
|
||||
if (of_property_read_u32(np, "ti,overcurrent-wait",
|
||||
&rpdata->overcurrent_wait) == 0)
|
||||
rpdata->overcurrent_wait_valid = true;
|
||||
|
||||
|
|
Loading…
Reference in New Issue