usb: typec: use cleanup facility for 'altmodes_node'

BugLink: https://bugs.launchpad.net/bugs/2101915

[ Upstream commit 1ab0b9ae587373f9f800b6fda01b8faf02b3530b ]

Use the __free() macro for 'altmodes_node' to automatically release the
node when it goes out of scope, removing the need for explicit calls to
fwnode_handle_put().

Suggested-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20241021-typec-class-fwnode_handle_put-v2-2-3281225d3d27@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Koichiro Den <koichiro.den@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
This commit is contained in:
Javier Carrasco
2025-03-11 08:51:19 +09:00
committed by Stefan Bader
parent 89eb579204
commit bf204fdab8
+4 -2
View File
@@ -2237,7 +2237,7 @@ void typec_port_register_altmodes(struct typec_port *port,
const struct typec_altmode_ops *ops, void *drvdata,
struct typec_altmode **altmodes, size_t n)
{
struct fwnode_handle *altmodes_node, *child;
struct fwnode_handle *child;
struct typec_altmode_desc desc;
struct typec_altmode *alt;
size_t index = 0;
@@ -2245,7 +2245,9 @@ void typec_port_register_altmodes(struct typec_port *port,
u32 vdo;
int ret;
altmodes_node = device_get_named_child_node(&port->dev, "altmodes");
struct fwnode_handle *altmodes_node __free(fwnode_handle) =
device_get_named_child_node(&port->dev, "altmodes");
if (!altmodes_node)
return; /* No altmodes specified */