Commit 234c0740 authored by Javier Carrasco's avatar Javier Carrasco Committed by Guenter Roeck
Browse files

hwmon: (ltc2991) use device_for_each_child_node_scoped()



Switch to the _scoped() version introduced in commit 365130fd
("device property: Introduce device_for_each_child_node_scoped()")
to remove the need for manual calling of fwnode_handle_put() in the
paths where the code exits the loop early.

Signed-off-by: default avatarJavier Carrasco <javier.carrasco.cruz@gmail.com>
Link: https://lore.kernel.org/r/20240404-hwmon_device_for_each_child_node_scoped-v1-1-53997abde43c@gmail.com


Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 55076454
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -284,7 +284,6 @@ static const struct regmap_config ltc2991_regmap_config = {

static int ltc2991_init(struct ltc2991_state *st, struct device *dev)
{
	struct fwnode_handle *child;
	int ret;
	u32 val, addr;
	u8 v5_v8_reg_data = 0, v1_v4_reg_data = 0;
@@ -294,17 +293,13 @@ static int ltc2991_init(struct ltc2991_state *st, struct device *dev)
		return dev_err_probe(dev, ret,
				     "failed to enable regulator\n");

	device_for_each_child_node(dev, child) {
	device_for_each_child_node_scoped(dev, child) {
		ret = fwnode_property_read_u32(child, "reg", &addr);
		if (ret < 0) {
			fwnode_handle_put(child);
		if (ret < 0)
			return ret;
		}

		if (addr > 3) {
			fwnode_handle_put(child);
		if (addr > 3)
			return -EINVAL;
		}

		ret = fwnode_property_read_u32(child,
					       "shunt-resistor-micro-ohms",