On Wed, Jun 05, 2024 at 07:11:04PM +0200, Markus Elfring wrote: > From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> > Date: Wed, 5 Jun 2024 18:56:19 +0200 > > Scope-based resource management became supported also for another > programming interface by contributions of Jonathan Cameron on 2024-02-17. > See also the commit 59ed5e2d505bf5f9b4af64d0021cd0c96aec1f7c ("device > property: Add cleanup.h based fwnode_handle_put() scope based cleanup."). > > * Thus use the attribute “__free(fwnode_handle)”. > > * Reduce the scope for the local variable “fwnode”. > > Fixes: fe6d8a9c8e64 ("usb: typec: anx7411: Add Analogix PD ANX7411 support") > Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> Was the fwnode leaked, or why else is this a "fix"? It's not clear from the commit message. In any case: Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > --- > drivers/usb/typec/anx7411.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/usb/typec/anx7411.c b/drivers/usb/typec/anx7411.c > index b12a07edc71b..9fb52f233a30 100644 > --- a/drivers/usb/typec/anx7411.c > +++ b/drivers/usb/typec/anx7411.c > @@ -16,6 +16,7 @@ > #include <linux/of_graph.h> > #include <linux/of_platform.h> > #include <linux/pm_runtime.h> > +#include <linux/property.h> > #include <linux/regulator/consumer.h> > #include <linux/slab.h> > #include <linux/types.h> > @@ -1142,11 +1143,11 @@ static int anx7411_typec_port_probe(struct anx7411_data *ctx, > { > struct typec_capability *cap = &ctx->typec.caps; > struct typec_params *typecp = &ctx->typec; > - struct fwnode_handle *fwnode; > const char *buf; > int ret, i; > > - fwnode = device_get_named_child_node(dev, "connector"); > + struct fwnode_handle *fwnode __free(fwnode_handle) > + = device_get_named_child_node(dev, "connector"); > if (!fwnode) > return -EINVAL; > > @@ -1237,7 +1238,7 @@ static int anx7411_typec_port_probe(struct anx7411_data *ctx, > typecp->caps_flags |= HAS_SINK_WATT; > } > > - cap->fwnode = fwnode; > + cap->fwnode = no_free_ptr(fwnode); > > ctx->typec.role_sw = usb_role_switch_get(dev); > if (IS_ERR(ctx->typec.role_sw)) { > -- > 2.45.1 -- heikki