struct iio_dev *indio_dev = i2c_get_clientdata(client);
        struct ads1015_data *data = iio_priv(indio_dev);
        struct device *dev = &client->dev;
-       struct fwnode_handle *node;
        int i = -1;
 
-       device_for_each_child_node(dev, node) {
+       device_for_each_child_node_scoped(dev, node) {
                u32 pval;
                unsigned int channel;
                unsigned int pga = ADS1015_DEFAULT_PGA;
                        pga = pval;
                        if (pga > 5) {
                                dev_err(dev, "invalid gain on %pfw\n", node);
-                               fwnode_handle_put(node);
                                return -EINVAL;
                        }
                }
                        data_rate = pval;
                        if (data_rate > 7) {
                                dev_err(dev, "invalid data_rate on %pfw\n", node);
-                               fwnode_handle_put(node);
                                return -EINVAL;
                        }
                }