From nobody Sun Dec 14 11:55:29 2025 Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 25AE615D5BD for ; Fri, 10 May 2024 07:14:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715325295; cv=none; b=RNd6H93qkCoxgqjadBPik2TAFgpw/D2Axxwux3lq4ToZYmmq8OteyIjH4hLwlp+RQceItFlMLvoCLMJIz/Bmu+H3HCCA+d4+YJw8nKPq8ShzGt6dLwnmptuE3PWzjFpzFAiOx9c79u8CVYfyis2GnWHj8Sk11AguMSiiMpYSL4w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715325295; c=relaxed/simple; bh=X9GM11oXuJoXdDSCPr2nHcRrKw9Gn4uUHfpmpxxS7NM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hhgEnuYj1vQClYptfS3JocegY8Wc3dAZpP0qRVfAL6pzUstvobYa8A+SDVCBV6O16id7lw/8Uv7nChDksd6duxQu4NeRYo/qs3j5fkNHAh8C0Zq5jLw8xpZuTIPlgs2irgFr8V0GI4RCFGgCTML+DUTXB24HUipySLAB20oDXxA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=YwY4PM+0; arc=none smtp.client-ip=209.85.210.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YwY4PM+0" Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-6f44dd41a5cso1762776b3a.0 for ; Fri, 10 May 2024 00:14:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715325293; x=1715930093; darn=vger.kernel.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=pKl1sJKw/UsKDzy8KNhNK1sYyMGjgorHopo+1odx4UQ=; b=YwY4PM+0hqdazp9U1kQJ3QKuE6NLZozWeKUpYB+LFDmuXLwAcY2rdtkIFrc+FoRf06 xd7ALYGQKrTvX0s/2OXXjc8oqPKSnVcaQ3pL6Tedw7yOqZGJSXQfNH252ohefko9S5g8 /qp+DQwpLAX5KcDmbTsVno5u2UxBESRCHZqCus/3A+wO+5g4YlFFfuoEXMoL9+TDMhzU ltukYNcZEbOiO7nHxCiSE1v6MMi/8HHQ93jx/jfD9ae0LJ2prvqy/2IIRF0gqw/ukcsi t7jKy3kfiTtU/nylPODpbDn9eeNHq5oWUyJS7LIzOoBtejjKbsbRy8/XyAQ0zMLehA96 Z0dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715325293; x=1715930093; 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=pKl1sJKw/UsKDzy8KNhNK1sYyMGjgorHopo+1odx4UQ=; b=DoTSl/pSeOVNM8DpgBtFxgMqrlnGsoJ+Ps5eqBqTn8WOafMLmfOvCq4IfiWMAjA0pY 75uOI2J/g0Ij8O43abIDGzkxx/Vau47VbsBh1iRDg+KzomySSDAnBR1qpfESGSEU2fyW 1Hu0Sa2FkFyPpJnFBzfHJNN2oqAzeii8bWPo5B/DOKDit/ghcrrRykw0KjFf4VCgCj0b 7OTCHy5Wr2+t1qZXVi2IZqVfb07DodPms0Jp+nvyxwnI5r9ILgahKvg5zUtPHHe4jqIM n3VBCZ8RRZ/TsAzxYT0pfWCfiZZfL+tn5VJL6x0JlQZ1s9vp22fRFQa2o3fAbCfjuBKr Koog== X-Forwarded-Encrypted: i=1; AJvYcCVbfqZQkpJXeP2ujayGPrZr3vyRPQ0jpj66rU7y1pN345uvPxFjFdd1iSCZ4fsfwX9O62usVZoQgzqWdXhALsXX0G17MXXZwWev0YUX X-Gm-Message-State: AOJu0YzCHT8Y5zj9aETa/bpIcaCfF70x/BZ3ZuAoKprYmMl7eGt9mozg jxtDDZ7Y+avsEfJJ2g2TN1winc0vvyrCCJ+KmTFqOAeXu1fFOze/ X-Google-Smtp-Source: AGHT+IFLklw0VPt+U78fsumXcfh6TZru62wWQcHPZt+ZTPkp5rl/p4PAe0H9zRH2ix3RbFqgeJpgHg== X-Received: by 2002:a05:6a00:1911:b0:6f4:1799:c70c with SMTP id d2e1a72fcca58-6f4e02aa518mr1645479b3a.9.1715325293048; Fri, 10 May 2024 00:14:53 -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.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 May 2024 00:14:52 -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 1/3] soc: ti: pruss: do device_node auto cleanup Date: Fri, 10 May 2024 12:43:22 +0530 Message-ID: <20240510071432.62913-2-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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Use scope based cleanup instead of manual of_node_put() calls, hence simplifying the handling of error paths at various places. Suggested-by: Julia Lawall Signed-off-by: Kousik Sanagavarapu --- drivers/soc/ti/pruss.c | 48 ++++++++++++++---------------------------- 1 file changed, 16 insertions(+), 32 deletions(-) diff --git a/drivers/soc/ti/pruss.c b/drivers/soc/ti/pruss.c index 24a42e0b645c..8f238d59eca9 100644 --- a/drivers/soc/ti/pruss.c +++ b/drivers/soc/ti/pruss.c @@ -381,13 +381,13 @@ static int pruss_clk_mux_setup(struct pruss *pruss, s= truct clk *clk_mux, static int pruss_clk_init(struct pruss *pruss, struct device_node *cfg_nod= e) { const struct pruss_private_data *data; - struct device_node *clks_np; struct device *dev =3D pruss->dev; int ret =3D 0; =20 data =3D of_device_get_match_data(dev); =20 - clks_np =3D of_get_child_by_name(cfg_node, "clocks"); + struct device_node *clks_np __free(device_node) =3D + of_get_child_by_name(cfg_node, "clocks"); if (!clks_np) { dev_err(dev, "%pOF is missing its 'clocks' node\n", cfg_node); return -ENODEV; @@ -398,7 +398,7 @@ static int pruss_clk_init(struct pruss *pruss, struct d= evice_node *cfg_node) "coreclk-mux", clks_np); if (ret) { dev_err(dev, "failed to setup coreclk-mux\n"); - goto put_clks_node; + return ret; } } =20 @@ -406,13 +406,10 @@ static int pruss_clk_init(struct pruss *pruss, struct= device_node *cfg_node) clks_np); if (ret) { dev_err(dev, "failed to setup iepclk-mux\n"); - goto put_clks_node; + return ret; } =20 -put_clks_node: - of_node_put(clks_np); - - return ret; + return 0; } =20 static struct regmap_config regmap_conf =3D { @@ -424,26 +421,22 @@ static struct regmap_config regmap_conf =3D { static int pruss_cfg_of_init(struct device *dev, struct pruss *pruss) { struct device_node *np =3D dev_of_node(dev); - struct device_node *child; + struct device_node *child __free(device_node) =3D + of_get_child_by_name(np, "cfg"); struct resource res; int ret; =20 - child =3D of_get_child_by_name(np, "cfg"); if (!child) { dev_err(dev, "%pOF is missing its 'cfg' node\n", child); return -ENODEV; } =20 - if (of_address_to_resource(child, 0, &res)) { - ret =3D -ENOMEM; - goto node_put; - } + if (of_address_to_resource(child, 0, &res)) + return -ENOMEM; =20 pruss->cfg_base =3D devm_ioremap(dev, res.start, resource_size(&res)); - if (!pruss->cfg_base) { - ret =3D -ENOMEM; - goto node_put; - } + if (!pruss->cfg_base) + return -ENOMEM; =20 regmap_conf.name =3D kasprintf(GFP_KERNEL, "%pOFn@%llx", child, (u64)res.start); @@ -455,16 +448,13 @@ static int pruss_cfg_of_init(struct device *dev, stru= ct pruss *pruss) if (IS_ERR(pruss->cfg_regmap)) { dev_err(dev, "regmap_init_mmio failed for cfg, ret =3D %ld\n", PTR_ERR(pruss->cfg_regmap)); - ret =3D PTR_ERR(pruss->cfg_regmap); - goto node_put; + return PTR_ERR(pruss->cfg_regmap); } =20 ret =3D pruss_clk_init(pruss, child); if (ret) dev_err(dev, "pruss_clk_init failed, ret =3D %d\n", ret); =20 -node_put: - of_node_put(child); return ret; } =20 @@ -472,7 +462,6 @@ static int pruss_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; struct device_node *np =3D dev_of_node(dev); - struct device_node *child; struct pruss *pruss; struct resource res; int ret, i, index; @@ -494,7 +483,8 @@ static int pruss_probe(struct platform_device *pdev) pruss->dev =3D dev; mutex_init(&pruss->lock); =20 - child =3D of_get_child_by_name(np, "memories"); + struct device_node *child __free(device_node) =3D + of_get_child_by_name(np, "memories"); if (!child) { dev_err(dev, "%pOF is missing its 'memories' node\n", child); return -ENODEV; @@ -510,22 +500,17 @@ static int pruss_probe(struct platform_device *pdev) =20 index =3D of_property_match_string(child, "reg-names", mem_names[i]); - if (index < 0) { - of_node_put(child); + if (index < 0) return index; - } =20 - if (of_address_to_resource(child, index, &res)) { - of_node_put(child); + if (of_address_to_resource(child, index, &res)) return -EINVAL; - } =20 pruss->mem_regions[i].va =3D devm_ioremap(dev, res.start, resource_size(&res)); if (!pruss->mem_regions[i].va) { dev_err(dev, "failed to parse and map memory resource %d %s\n", i, mem_names[i]); - of_node_put(child); return -ENOMEM; } pruss->mem_regions[i].pa =3D res.start; @@ -535,7 +520,6 @@ static int pruss_probe(struct platform_device *pdev) mem_names[i], &pruss->mem_regions[i].pa, pruss->mem_regions[i].size, pruss->mem_regions[i].va); } - of_node_put(child); =20 platform_set_drvdata(pdev, pruss); =20 --=20 2.45.0.rc1.8.ge326e52010 From nobody Sun Dec 14 11:55:29 2025 Received: from mail-oa1-f47.google.com (mail-oa1-f47.google.com [209.85.160.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 461891F171 for ; Fri, 10 May 2024 07:14:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715325301; cv=none; b=UVbnY5djobUF/aRDyZHbpBGuhmdzDp2KR0N09wxmPapRnDR5PgEkkDFVC81NtqS4l4S8i+WHPQ46RJvv22yw/dm4wI2Y6bja59BYKHw4XkidMYhGULxmLcbMtmxwnWp1dQXj6oLIHBManzCdh6q/STmKvxjtD2QCzAf8DIuSPFA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715325301; c=relaxed/simple; bh=RLWutmpFg7NwnncRkkWuTv0XDGWX/OwDTTXFc1qh27w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NBctm+B1KbuwLRzWzKGgF2cdIqq3yu1X2FP/huTh5A2gzmZj3fDx8r+NY8EBPHf5HN5V6Px67P8hODW1vXxDPKgnt1bqRTB2GbLjH78OOVgtjMMATvqO2OT/xrRhzUER7dHM0CXvEXZ6TSkY0615IPdMtQfjxIv6EhI0wHzbTnA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kGziLwX/; arc=none smtp.client-ip=209.85.160.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kGziLwX/" Received: by mail-oa1-f47.google.com with SMTP id 586e51a60fabf-23f0d4353abso1106445fac.3 for ; Fri, 10 May 2024 00:14:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715325298; x=1715930098; darn=vger.kernel.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=kGziLwX/5/4EP0SQnaLH31VI2SvlgaDH0m5Utlj+ORT7trL8SL9FX8MDzccdbo7SbY hdwFL/zEBJCYLKpbb7xi0B9sor3agW5QTOTEwOLe4tVjryTg3vMjbyv/IHJYKPcl76wW DnTde7c6ZT8nzQPYCw8RODL/RrFaoJ2jQ0E4Q0HapU0U35N83S5ZBWeN4DivZ4Nz4Igg NUwebQZ9K3ahjcnvCyVS1cyOp3wyBaikY4yO6V2X78McxztoNSgnb5Ts9Ey2dnwcN4PW qQG++mk3bTptwYUBLcAqWJz+jwUygtZWEUOQ3jNhD+uaVxcLYIstAXYeca7MNoP2HVzb khtg== 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=Ct7CcLyF4Ad9VbbTIK/UGQbudtXGix4+cRSyhtN2QcPWPHgs5ltncA42dwlu20+u/U wXL/ZojFEHPxuFcSc7hHnUq793ICeUIFWC6r5zWGEfPVDU1QgXAsonQZHNvpfYk0kUp8 CzuFs4hCGZ2HWbYondRN8DUu5pBmpbGyaIvHfcntMX5pKbfRpx8nPKpkYp2KHptS2eF2 9F55m+RogNd31TTCymaUQU/0owrm+fQghJMRQDlVAAJX9u4P0E8lmGDf0NdRS8WkG2Tf q/QV11p21pjSSJuac7klmcGQwV4TkhCWTtBe9fcxVx/qSzSUGAX7QzuLcthwK+UjSIDb HQOw== X-Forwarded-Encrypted: i=1; AJvYcCWEOlSIFsQeb+i4Qdk3NsSO1WSI69z7IMH0ZqK2+dREjHKX2oVUsUZtzmJuSW3pum0tumveIniPbb282f/gF9SseRYwSpYuDasfuKe+ X-Gm-Message-State: AOJu0YzCoQ0DRKyG051PIgzMp1SkMXsrv8ZvU6eI06Lb55ff5I/rWnao Cd9xaxLb+Nhtb1Gr84rC9caOOw8Zf8Y0qYFn83pD/IfZsmkxqsgn 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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_qu= eue.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 =3D pdev->dev.of_node; - struct device_node *qmgrs, *queue_pools, *regions, *pdsps; struct device *dev =3D &pdev->dev; u32 temp[2]; int ret; @@ -1799,19 +1798,20 @@ static int knav_queue_probe(struct platform_device = *pdev) kdev->num_queues =3D temp[1]; =20 /* Initialize queue managers using device tree configuration */ - qmgrs =3D of_get_child_by_name(node, "qmgrs"); + struct device_node *qmgrs __free(device_node) =3D + of_get_child_by_name(node, "qmgrs"); if (!qmgrs) { dev_err(dev, "queue manager info not specified\n"); ret =3D -ENODEV; goto err; } ret =3D knav_queue_init_qmgrs(kdev, qmgrs); - of_node_put(qmgrs); if (ret) goto err; =20 /* get pdsp configuration values from device tree */ - pdsps =3D of_get_child_by_name(node, "pdsps"); + struct device_node *pdsps __free(device_node) =3D + of_get_child_by_name(node, "pdsps"); if (pdsps) { ret =3D 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); =20 /* get usable queue range values from device tree */ - queue_pools =3D of_get_child_by_name(node, "queue-pools"); + struct device_node *queue_pools __free(device_node) =3D + of_get_child_by_name(node, "queue-pools"); if (!queue_pools) { dev_err(dev, "queue-pools not specified\n"); ret =3D -ENODEV; goto err; } ret =3D knav_setup_queue_pools(kdev, queue_pools); - of_node_put(queue_pools); if (ret) goto err; =20 @@ -1853,14 +1852,14 @@ static int knav_queue_probe(struct platform_device = *pdev) if (ret) goto err; =20 - regions =3D of_get_child_by_name(node, "descriptor-regions"); + struct device_node *regions __free(device_node) =3D + of_get_child_by_name(node, "descriptor-regions"); if (!regions) { dev_err(dev, "descriptor-regions not specified\n"); ret =3D -ENODEV; goto err; } ret =3D knav_queue_setup_regions(kdev, regions); - of_node_put(regions); if (ret) goto err; =20 --=20 2.45.0.rc1.8.ge326e52010 From nobody Sun Dec 14 11:55:29 2025 Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7DA4915FA80 for ; Fri, 10 May 2024 07:15:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715325306; cv=none; b=lkPR9H82UFo0ABBJh2WALliJYI1UMk/bJi0CAosMqAyi/rfmOqt+9RnucWjTdkiEL83pBOrNTp1+XI/aTdiu/R7ny4Ro1WOy7IIUah72mOTpgHwpUZOJ4ISgDjgCCZ5n8rE7Yz/QIMuxHkRpPrO1cEYutWdYlUUZtKOfFvPaWeI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715325306; c=relaxed/simple; bh=oAm++Nl7rH+floe+stVP5JzNifQpPjuF4OcCxTwuO9Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HegWLuh8SfIJDrzd7z1I4tgK3oofxYf62e2fqIm8gx3CcRRuzlikUTLZlx+eAoEjLkTaJN/Ku5mg83cBmveAr9D/wZODOzmHOMFfndaklxZPzBdglIRZUnENGEzSjlPnovoR0EtkYTu+wBFMeQyIGF9aqBNyyCFLtOG0NrTjrQw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=feTNMKf8; arc=none smtp.client-ip=209.85.210.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="feTNMKf8" Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-6f44dc475f4so1458114b3a.2 for ; Fri, 10 May 2024 00:15:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715325304; x=1715930104; darn=vger.kernel.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=1e9AaiZhqzpQxOi3rf8QWQAd00HqbSZFUmUbCLkX+1U=; b=feTNMKf8TCUfb6Lv1MKfvFbktz+nUw/324LS/CJ+y467Eo7uyp7uJ4HGa0TXmaqz8p 1px1KhJ2muHIiPvicwPLlNqAhAbwHl44/mPqH7OmreZbLF7c05Mby/PiymiEGS1/PeM/ NIVj9qGIScSXd0wcPQ2wcDSYNNt63mSaITgW4yhcwWPllNfoaeEDYJ9K7mDOzCGp74eO Xv70sGKVOV1f0PogKjLjL4AR+IoON5eDRFKv+Cklqnj2dp7/vuiSof73YioB99VnXcNc 22UA3yn4BPgxQQV/mC58HbK5o+FMDIyhQdqq1/CNsP5QOo5sgApyhCwCJn/8w/7gTugD CzUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715325304; x=1715930104; 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=1e9AaiZhqzpQxOi3rf8QWQAd00HqbSZFUmUbCLkX+1U=; b=eLl1cPYbKjb0Jsw/aNmwggWU+4Q4mtHgylBjZ6txeO6jJdXY+O1avED+WMGGxmD9MP qOTDu0td0rORbRTYpWGjEX+I9OsO/akeQWeOwTwZCXKT8V3hwpb3NvWEuCWQQnCyqqcB uMq9WE8v6XyJbJqnz2SmtJxtckQUmOGKbqiZGY1KA1q9vrEzmnPY9NtSf2pi7wPH8hA3 3FA5HccmbmEil3wLuQOHdl6xfE1NTnmNFStjONmjQRUKhMvr/eq9yoNIaZOrhrggY9E5 WzGFXk3b0uQ/xnqPB3TkEeIRno6KQhLxsQGkiRKCz3XIZnjkgDqCP9ap23Uzn54FzNiT MF9Q== X-Forwarded-Encrypted: i=1; AJvYcCX6jDu9mgjqSK8jD+sm0gwj+hf2OYsJP3nZ+xwF1T970ABabqyb9fJ9Gy8ylCv7biF4fQ+d/S3O6RXHHfvNIqJo/fXG1EiRofKCoe90 X-Gm-Message-State: AOJu0YwMA/SBaEXGO2Qz+jomyLOwv6HZN4iUC2u5B/chyucXRluj6fyU AKZd3kRUQhp8XIV95Lwzp46pgwMft1/Pzq9hs8PWua/0vvc+sFrv X-Google-Smtp-Source: AGHT+IEwUMH0kBFIFoUmUPVo3NgEwfjmKEL/UUFcaYpx/JhNnaWZO9dILpMlR+hxXvDfTz57P+747Q== X-Received: by 2002:a05:6a00:1a93:b0:6ee:1508:edc8 with SMTP id d2e1a72fcca58-6f4e0347d57mr1783419b3a.23.1715325303602; Fri, 10 May 2024 00:15:03 -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.15.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 May 2024 00:15:03 -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 3/3] soc: ti: pm33xx: do device_node auto cleanup Date: Fri, 10 May 2024 12:43:24 +0530 Message-ID: <20240510071432.62913-4-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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Use scope based cleanup instead of manual of_node_put() calls, hence simplifying the handling of error paths. Suggested-by: Julia Lawall Signed-off-by: Kousik Sanagavarapu --- drivers/soc/ti/pm33xx.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/drivers/soc/ti/pm33xx.c b/drivers/soc/ti/pm33xx.c index 8e983c3c4e03..40988c45ed00 100644 --- a/drivers/soc/ti/pm33xx.c +++ b/drivers/soc/ti/pm33xx.c @@ -383,10 +383,9 @@ static void am33xx_pm_free_sram(void) */ static int am33xx_pm_alloc_sram(void) { - struct device_node *np; - int ret =3D 0; + struct device_node *np __free(device_node) =3D + of_find_compatible_node(NULL, NULL, "ti,omap3-mpu"); =20 - np =3D of_find_compatible_node(NULL, NULL, "ti,omap3-mpu"); if (!np) { np =3D of_find_compatible_node(NULL, NULL, "ti,omap4-mpu"); if (!np) { @@ -400,24 +399,21 @@ static int am33xx_pm_alloc_sram(void) if (!sram_pool) { dev_err(pm33xx_dev, "PM: %s: Unable to get sram pool for ocmcram\n", __func__); - ret =3D -ENODEV; - goto mpu_put_node; + return -ENODEV; } =20 sram_pool_data =3D of_gen_pool_get(np, "pm-sram", 1); if (!sram_pool_data) { dev_err(pm33xx_dev, "PM: %s: Unable to get sram data pool for ocmcram\n", __func__); - ret =3D -ENODEV; - goto mpu_put_node; + return -ENODEV; } =20 ocmcram_location =3D gen_pool_alloc(sram_pool, *pm_sram->do_wfi_sz); if (!ocmcram_location) { dev_err(pm33xx_dev, "PM: %s: Unable to allocate memory from ocmcram\n", __func__); - ret =3D -ENOMEM; - goto mpu_put_node; + return -ENOMEM; } =20 ocmcram_location_data =3D gen_pool_alloc(sram_pool_data, @@ -425,12 +421,10 @@ static int am33xx_pm_alloc_sram(void) if (!ocmcram_location_data) { dev_err(pm33xx_dev, "PM: Unable to allocate memory from ocmcram\n"); gen_pool_free(sram_pool, ocmcram_location, *pm_sram->do_wfi_sz); - ret =3D -ENOMEM; + return -ENOMEM; } =20 -mpu_put_node: - of_node_put(np); - return ret; + return 0; } =20 static int am33xx_pm_rtc_setup(void) --=20 2.45.0.rc1.8.ge326e52010