Unverified Commit 51d98ff8 authored by Dmitry Torokhov's avatar Dmitry Torokhov Committed by Mark Brown
Browse files

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: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
Link: https://lore.kernel.org/r/20191004231017.130290-4-dmitry.torokhov@gmail.com


Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent de2cd1a5
Loading
Loading
Loading
Loading
+15 −11
Original line number Diff line number Diff line
@@ -346,15 +346,19 @@ 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 = &reg_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,
		rpdata->enable_ext_control = of_property_read_bool(np,
						"ti,enable-ext-control");
		if (rpdata->enable_ext_control) {
			enum gpiod_flags gflags;
@@ -366,9 +370,10 @@ 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,
			rpdata->gpiod = devm_fwnode_gpiod_get(
							&pdev->dev,
							of_fwnode_handle(np),
							"dcdc-ext-control",
							gflags,
							"tps65090");
			if (PTR_ERR(rpdata->gpiod) == -ENOENT) {
@@ -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;