Re: [PATCH] tty: hvc: hvc_opal: eliminate uses of of_node_put()

From: Greg KH
Date: Fri May 03 2024 - 09:30:54 EST


On Fri, May 03, 2024 at 02:43:30PM +0300, Lu Dai wrote:
> Make use of the __free() cleanup handler to automatically free nodes
> when they get out of scope.
>
> Removes the need for a 'goto' as an effect.
>
> Signed-off-by: Lu Dai <dai.lu@xxxxxxxxxxx>
> ---
> drivers/tty/hvc/hvc_opal.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/tty/hvc/hvc_opal.c b/drivers/tty/hvc/hvc_opal.c
> index 095c33ad10f8..67e90fa993a3 100644
> --- a/drivers/tty/hvc/hvc_opal.c
> +++ b/drivers/tty/hvc/hvc_opal.c
> @@ -327,14 +327,14 @@ static void udbg_init_opal_common(void)
>
> void __init hvc_opal_init_early(void)
> {
> - struct device_node *stdout_node = of_node_get(of_stdout);
> + struct device_node *stdout_node __free(device_node) = of_node_get(of_stdout);
> const __be32 *termno;
> const struct hv_ops *ops;
> u32 index;
>
> /* If the console wasn't in /chosen, try /ibm,opal */
> if (!stdout_node) {
> - struct device_node *opal, *np;
> + struct device_node *opal __free(device_node), *np;

*np needs to be on a separate line, right?

thanks,

greg k-h