From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B6A6BC25B10 for ; Fri, 10 May 2024 07:15:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=LaFUfRzOeHDXC2APajcw5Vi6Sv8GH7WnFLg3Nu/97g4=; b=E/6X/zoSTHrY3e JjmegDABA1WLolAYYOT67scAXLRJWqGIyWiZAvknNMzDfh9o6P1R+Dq63LKw1JumTuMBb66mMehZq UpVZS0fyZngcTWbPzB/pH+H5vI532/TvtCq7530ltTxJYQYVvE2sn8lr1ZeW0wB76ucb7vVw+Z76L hN84HpvoUwq3UWaE6AZB48hhUoPKOGHjh2WCLLCWPH0Sm4Rr5NsjTxbbahEJqC1QUaScB53/SWJM3 N+hVH+7i5mRZkx4Bnpu+LaoFpaRemZLV3PifDQjkiYQn9bsSEXZO0AHUXrt5DhlXCjvB1JXUIXswo RJNPYhIeHPP3a7mN8PYg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s5KTA-00000004Kwh-3LSn; Fri, 10 May 2024 07:15:04 +0000 Received: from mail-ot1-x32a.google.com ([2607:f8b0:4864:20::32a]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s5KT7-00000004KtH-2Ke5 for linux-arm-kernel@lists.infradead.org; Fri, 10 May 2024 07:15:03 +0000 Received: by mail-ot1-x32a.google.com with SMTP id 46e09a7af769-6f0ef6bee72so64733a34.0 for ; Fri, 10 May 2024 00:15:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715325298; x=1715930098; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Z+hTb9Uz5fZ3Gvx3REvMog4ReTfehsa0bk9kBNaBktU=; b=SQpI1FcQWpnfB23F3pppa5ATDLGLjXMVQOZf+SFBfCl4xn1/HnY9u3RFY/EFB/WGNB eZyg3vVKZV5610/SIeimRALgxZyX1yIEjV5Kn3PoQhVraBJt83Wz8DZ+0o1vOymWKYFf kmA9PQvj3ho+xkuYh9GJOpCsBrHX1eQemO3U6Ad49dwFMZot1bPo6+v+UXtLI4/My2jB nx7F00+tfF9cjXhVJaSHC5s0+nXAm9khTmU2Z4xeJQxkEYIyxASOFD1e70vmW/C+hlZh txIq6+kCiF0R+bY8RJA+A+UXf2NxA4VB4DmWxz6yXag94KlkjLqvvRiZF6X0smFrKAcK bbEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715325298; x=1715930098; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Z+hTb9Uz5fZ3Gvx3REvMog4ReTfehsa0bk9kBNaBktU=; b=tQeWy9D3Wi+KMMfSTURGA68txtBD1tGkd+rdpMzO899RAzSC06V/8CK0eAwsYc1p/I FGXXl2Qr276Pi7TdvvdMxV+Ma6Sw1LD9duf5VC6pgmLaQLZciTabfDE5kXGqY0AFXvD2 ABHmMCMjTcZGDcpM9LmQF0vYB5MkSZgSVL8BPuZ8kx0/naILpb1wyDPPqNRfN7ws2elc kcdjfubwjR/DB7SpckxpI30+V/t+7385YWSRm4syRe7naxW0UXQar+aRX5NUxjgA9Zp/ EbIpg0M52GfESfAUQu7sfmE89qxZy/0wphGxDGizbrHLrxjg0Z3MIn5j7hBvnqDQdyIn snYg== X-Forwarded-Encrypted: i=1; AJvYcCUUVFdB5EUvG+Uex3K0rVZNkD1QzDgJu5h7Ou0P3E1GACqXOF5sBPiOnzaxCkSG+uvr7C92Y7Imo+XvfpohIb8KlZ9aFz/gHgBZXM0EvQLUFB+L1bc= X-Gm-Message-State: AOJu0YzNn2TgM5NipURnAG8B9QpagvWOUGB3VmcNtNHYQA24vzGHhhhm NorFMaBA/VjyPZFD2tmVO6nu5ZU/BJArlVbliSb5/aI9S3QC7YLFI7hUykFQ X-Google-Smtp-Source: AGHT+IF8XPSpK6Os7Q7kiJB52aBjvbTi/5q1bBhvs1QvP8iY0Js/aA0xNgUw8sbfdd1nCXUC6IC09Q== X-Received: by 2002:a05:6870:17a4:b0:23c:2d6e:96c0 with SMTP id 586e51a60fabf-24172e03f4dmr2100262fac.39.1715325298244; Fri, 10 May 2024 00:14:58 -0700 (PDT) Received: from kousik.local ([2405:201:c01a:90f4:8de5:a651:7145:5260]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-6f4d2af2a37sm2344475b3a.161.2024.05.10.00.14.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 May 2024 00:14:57 -0700 (PDT) From: Kousik Sanagavarapu To: Nishanth Menon , Santosh Shilimkar , Julia Lawall Cc: Shuah Khan , Javier Carrasco , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Kousik Sanagavarapu Subject: [PATCH 2/3] soc: ti: knav_qmss_queue: do device_node auto cleanup Date: Fri, 10 May 2024 12:43:23 +0530 Message-ID: <20240510071432.62913-3-five231003@gmail.com> X-Mailer: git-send-email 2.45.0.rc1.8.ge326e52010 In-Reply-To: <20240510071432.62913-1-five231003@gmail.com> References: <20240510071432.62913-1-five231003@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240510_001501_671222_02134324 X-CRM114-Status: GOOD ( 14.74 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Use scope based cleanup, instead of manual of_node_put() calls, which automatically free()s "struct device_node". Doing the cleanup this way has the advantage of reducing the chance of memory leaks in case we need to read from new OF nodes in the future when we probe. Suggested-by: Julia Lawall Signed-off-by: Kousik Sanagavarapu --- drivers/soc/ti/knav_qmss_queue.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/drivers/soc/ti/knav_qmss_queue.c b/drivers/soc/ti/knav_qmss_queue.c index 06fb5505c22c..237946312080 100644 --- a/drivers/soc/ti/knav_qmss_queue.c +++ b/drivers/soc/ti/knav_qmss_queue.c @@ -1755,7 +1755,6 @@ MODULE_DEVICE_TABLE(of, keystone_qmss_of_match); static int knav_queue_probe(struct platform_device *pdev) { struct device_node *node = pdev->dev.of_node; - struct device_node *qmgrs, *queue_pools, *regions, *pdsps; struct device *dev = &pdev->dev; u32 temp[2]; int ret; @@ -1799,19 +1798,20 @@ static int knav_queue_probe(struct platform_device *pdev) kdev->num_queues = temp[1]; /* Initialize queue managers using device tree configuration */ - qmgrs = of_get_child_by_name(node, "qmgrs"); + struct device_node *qmgrs __free(device_node) = + of_get_child_by_name(node, "qmgrs"); if (!qmgrs) { dev_err(dev, "queue manager info not specified\n"); ret = -ENODEV; goto err; } ret = knav_queue_init_qmgrs(kdev, qmgrs); - of_node_put(qmgrs); if (ret) goto err; /* get pdsp configuration values from device tree */ - pdsps = of_get_child_by_name(node, "pdsps"); + struct device_node *pdsps __free(device_node) = + of_get_child_by_name(node, "pdsps"); if (pdsps) { ret = knav_queue_init_pdsps(kdev, pdsps); if (ret) @@ -1821,17 +1821,16 @@ static int knav_queue_probe(struct platform_device *pdev) if (ret) goto err; } - of_node_put(pdsps); /* get usable queue range values from device tree */ - queue_pools = of_get_child_by_name(node, "queue-pools"); + struct device_node *queue_pools __free(device_node) = + of_get_child_by_name(node, "queue-pools"); if (!queue_pools) { dev_err(dev, "queue-pools not specified\n"); ret = -ENODEV; goto err; } ret = knav_setup_queue_pools(kdev, queue_pools); - of_node_put(queue_pools); if (ret) goto err; @@ -1853,14 +1852,14 @@ static int knav_queue_probe(struct platform_device *pdev) if (ret) goto err; - regions = of_get_child_by_name(node, "descriptor-regions"); + struct device_node *regions __free(device_node) = + of_get_child_by_name(node, "descriptor-regions"); if (!regions) { dev_err(dev, "descriptor-regions not specified\n"); ret = -ENODEV; goto err; } ret = knav_queue_setup_regions(kdev, regions); - of_node_put(regions); if (ret) goto err; -- 2.45.0.rc1.8.ge326e52010 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel