On Sun, Jun 23, 2024 at 12:35:11PM +0200, Javier Carrasco wrote: > Use the scoped variant of `device_for_each_child_node()` to > automatically handle early exits. > > This prevents memory leaks if new error paths are introduced, > as no explicit refcount decrement via `fwnode_handle_put()` is needed. > > Signed-off-by: Javier Carrasco <javier.carrasco.cruz@xxxxxxxxx> Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > --- > This patch is a follow-up to the recently introduced commit c68942624e25 > ("usb: typec: ucsi: glink: fix child node release in probe function") > to account for a safer approach to iterating over child nodes. > --- > drivers/usb/typec/ucsi/ucsi_glink.c | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) > > diff --git a/drivers/usb/typec/ucsi/ucsi_glink.c b/drivers/usb/typec/ucsi/ucsi_glink.c > index 2fa973afe4e6..d41c9caa84e0 100644 > --- a/drivers/usb/typec/ucsi/ucsi_glink.c > +++ b/drivers/usb/typec/ucsi/ucsi_glink.c > @@ -333,7 +333,6 @@ static int pmic_glink_ucsi_probe(struct auxiliary_device *adev, > struct pmic_glink_ucsi *ucsi; > struct device *dev = &adev->dev; > const struct of_device_id *match; > - struct fwnode_handle *fwnode; > int ret; > > ucsi = devm_kzalloc(dev, sizeof(*ucsi), GFP_KERNEL); > @@ -365,14 +364,13 @@ static int pmic_glink_ucsi_probe(struct auxiliary_device *adev, > > ucsi_set_drvdata(ucsi->ucsi, ucsi); > > - device_for_each_child_node(dev, fwnode) { > + device_for_each_child_node_scoped(dev, fwnode) { > struct gpio_desc *desc; > u32 port; > > ret = fwnode_property_read_u32(fwnode, "reg", &port); > if (ret < 0) { > dev_err(dev, "missing reg property of %pOFn\n", fwnode); > - fwnode_handle_put(fwnode); > return ret; > } > > @@ -387,11 +385,10 @@ static int pmic_glink_ucsi_probe(struct auxiliary_device *adev, > if (!desc) > continue; > > - if (IS_ERR(desc)) { > - fwnode_handle_put(fwnode); > + if (IS_ERR(desc)) > return dev_err_probe(dev, PTR_ERR(desc), > "unable to acquire orientation gpio\n"); > - } > + > ucsi->port_orientation[port] = desc; > } > > > --- > base-commit: f76698bd9a8ca01d3581236082d786e9a6b72bb7 > change-id: 20240623-ucsi_glink-scoped-2d417fc9afd3 > > Best regards, > -- > Javier Carrasco <javier.carrasco.cruz@xxxxxxxxx> -- heikki