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;
                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",