Message ID | 20240501-pinctrl-cleanup-v1-17-797ceca46e5c@nxp.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2080.outbound.protection.outlook.com [40.107.8.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5FD4C12AACA; Wed, 1 May 2024 12:53:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.8.80 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714567982; cv=fail; b=LRuJzlQed62HDdiTUETeaO2tia7URAcgGuOnvTsduQUNhWzd+pIxLmAog8a9VXN8F7iKFFpkxoQp1t7qg9rmhGU+Qq0LEn4OVsgI5iCpWsRd2wHEZtwx7KsJPaYyAY2aqZuIM5LraiXr8ZtM93BeOICD0zJXzooH+5t+Q0mwRCQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714567982; c=relaxed/simple; bh=aGocML37yKFLTQmAgdHIf5uoWsvtHUPQJME8EyVoT6s=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=GcVYZi/8qxzKcEbgOEd8ywBiG3t9m288Kscnsj3YceEw4YiiJKCQ9mkAKQDD5m6fu9nKCP5wRScUf6gKLBHFyhMX8epziRJ5fQnAEoQFotuxGgqoWKW/ym7NredMLMBadkOOq5oSEicNcrXClgnJbH9Y0ahIBWcTHpq4FvL9cTI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com; spf=pass smtp.mailfrom=oss.nxp.com; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b=mrDsVXkm; arc=fail smtp.client-ip=40.107.8.80 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="mrDsVXkm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QpUpPWj3LUslORyhU7NqW0Z4XFf8H/CovD6oS76C+83yPoJscaMhBLW2LhlsK93q0el2gXTk0ZbrBtvUbvpSPwvNmYVJ9xkoIJMA628vKB4qFl125ZAyJn18sxfB/kqDJck8/qKmPYvWRvGVUNt6tDsJUPQUdihY61NiYKEGc5gJ/fSAL1cH9VZhPjghPD18l8p0YoH0Hl5n289qckXtQAoQIB5hTgGSoU08IpLOgO7NXPWFmou4vmG13slj0KCx89o2C2vQWizE+1u4twKLHbpX4rTWKTZvx2/QAnq4UvVb+e0X2sQgN9NAtHXmrjzH7cabLT3P1u7T8VqUUorFPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=YyGeWpCkYZh4WcKx5URim9X/pl2xw38Z9ho8YthB/aQ=; b=dZtKs39o1PgE1rl4YWTIZUQxv2i3w+xckFaDakRDfx50gW9lAyySMsfFSidtvbgOYhYCmUiR49C9yklB3MVOQE2uIrdfkKRJ4X6nGU+QJjFRBLAMh9G17WT4fxEwHNNU3mPD9hhN4WHKqAIkSdI8WPYOdburywYAlmOuUhUEYYkkpgcfOiVMuyjjGdBkIi4tq8oAnrL0S0yqBpv+gBBcaRLRxxpuyCVlMoAbtzEBLhHvV0bRNwKMPL3NTI6dMYnstGuCpkZwMOyRIEd9N1gqi1lkiIMJv/IrotZtDCD6yrYE17ogB76mReUZSAdKKSs/uyMG8Y3C7OLQ2xpvHsd+5g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YyGeWpCkYZh4WcKx5URim9X/pl2xw38Z9ho8YthB/aQ=; b=mrDsVXkmUtziBoSBdjyLep7uqWVO4X5qKWOAYEszWk36fCksuvbygikVuT8Kke2s27TrfTKtCT9NqFDzrHvOX1f/wH/FNKRRKsGUC3x7/eIzJk1gY589zToZeZ4iLFja9Y3sP21qyn3B/9489XAxhk6jZu8+dlmncv7ApZ9gRZo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) by DBAPR04MB7432.eurprd04.prod.outlook.com (2603:10a6:10:1a9::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.28; Wed, 1 May 2024 12:52:57 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7519.031; Wed, 1 May 2024 12:52:57 +0000 From: "Peng Fan (OSS)" <peng.fan@oss.nxp.com> Date: Wed, 01 May 2024 20:56:15 +0800 Subject: [PATCH 17/21] pinctrl: mediatek: Use scope based of_node_put() cleanups Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20240501-pinctrl-cleanup-v1-17-797ceca46e5c@nxp.com> References: <20240501-pinctrl-cleanup-v1-0-797ceca46e5c@nxp.com> In-Reply-To: <20240501-pinctrl-cleanup-v1-0-797ceca46e5c@nxp.com> To: Linus Walleij <linus.walleij@linaro.org>, Thierry Reding <thierry.reding@gmail.com>, Jonathan Hunter <jonathanh@nvidia.com>, Dvorkin Dmitry <dvorkin@tibbo.com>, Wells Lu <wellslutw@gmail.com>, Maxime Coquelin <mcoquelin.stm32@gmail.com>, Alexandre Torgue <alexandre.torgue@foss.st.com>, Emil Renner Berthing <kernel@esmil.dk>, Jianlong Huang <jianlong.huang@starfivetech.com>, Hal Feng <hal.feng@starfivetech.com>, Orson Zhai <orsonzhai@gmail.com>, Baolin Wang <baolin.wang@linux.alibaba.com>, Chunyan Zhang <zhang.lyra@gmail.com>, Viresh Kumar <vireshk@kernel.org>, Shiraz Hashim <shiraz.linux.kernel@gmail.com>, soc@kernel.org, Krzysztof Kozlowski <krzk@kernel.org>, Sylwester Nawrocki <s.nawrocki@samsung.com>, Alim Akhtar <alim.akhtar@samsung.com>, Geert Uytterhoeven <geert+renesas@glider.be>, Patrice Chotard <patrice.chotard@foss.st.com>, Heiko Stuebner <heiko@sntech.de>, Damien Le Moal <dlemoal@kernel.org>, Ludovic Desroches <ludovic.desroches@microchip.com>, Nicolas Ferre <nicolas.ferre@microchip.com>, Alexandre Belloni <alexandre.belloni@bootlin.com>, Claudiu Beznea <claudiu.beznea@tuxon.dev>, Dong Aisheng <aisheng.dong@nxp.com>, Fabio Estevam <festevam@gmail.com>, Shawn Guo <shawnguo@kernel.org>, Jacky Bai <ping.bai@nxp.com>, Pengutronix Kernel Team <kernel@pengutronix.de>, Chester Lin <chester62515@gmail.com>, Matthias Brugger <mbrugger@suse.com>, Ghennadi Procopciuc <ghennadi.procopciuc@oss.nxp.com>, Sean Wang <sean.wang@kernel.org>, Matthias Brugger <matthias.bgg@gmail.com>, AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>, Sascha Hauer <s.hauer@pengutronix.de>, Andrew Jeffery <andrew@codeconstruct.com.au>, Joel Stanley <joel@jms.id.au>, Dan Carpenter <dan.carpenter@linaro.org> Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-stm32@st-md-mailman.stormreply.com, linux-samsung-soc@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-riscv@lists.infradead.org, linux-mediatek@lists.infradead.org, imx@lists.linux.dev, linux-aspeed@lists.ozlabs.org, openbmc@lists.ozlabs.org, Peng Fan <peng.fan@nxp.com> X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1714568179; l=2143; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=lm1PEdHATfoxwJUL9YMs41GxvVEK/pacMdZ5mWFlWX8=; b=9opStnvvifVa3C/7Di6MWEQ5dybv+YMYe/v16eI3vkA8ELbqt3EumCOS/cY4boy3ZcVAxR+Ys /w1RPbIr2kdCf3yCOuLiSFTt5g7rwevE2UcF77MN/YvcE4IrIOWCqeE X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SG2PR02CA0064.apcprd02.prod.outlook.com (2603:1096:4:54::28) To DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: <linux-renesas-soc.vger.kernel.org> List-Subscribe: <mailto:linux-renesas-soc+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-renesas-soc+unsubscribe@vger.kernel.org> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9417:EE_|DBAPR04MB7432:EE_ X-MS-Office365-Filtering-Correlation-Id: f1a3651a-3d30-46cc-ad5d-08dc69dd9fc2 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|52116005|7416005|376005|366007|1800799015|921011|38350700005; X-Microsoft-Antispam-Message-Info: =?utf-8?q?GiLW7Gm8BqH+fUZBSR/cAG7HdnrlKOi?= =?utf-8?q?jIjpaRvsoMOS2gn31bzkJaqJ2X50OklDy1mTx+mfUz8HfR5u0DKPiufpF8rYPTkHq?= =?utf-8?q?kJWakGNKhoeHS8AozQK4jvP8khHxWFuuCgyGvliahTKghNtmuTn/tfTgczlyTBKd6?= =?utf-8?q?Xmqy0eat/N+wkMYSNJMs2aeG4cvOyhyEQP0DPNQs2g1BRk2WMQHelJUwPYxRtlOCA?= =?utf-8?q?n0SGTxcvSk97J9nA2HIf2vsL35VqRv1GkR+EadO90wvxL8qNoU0LF22iJzLCA5Unz?= =?utf-8?q?M14WOEwE0V5uZt0aC7ufUTsawKZno5IkYshLvowvT2qbanNqgB7+OSSrlaHP6scTJ?= =?utf-8?q?4rdfLohjurdqu/SZfLd5fjf3eogwqBZ4OWU+kH/LgKHxD6WcE2Dj11f3XbCiSqxHT?= =?utf-8?q?d4x1lopC5Y1x/pqak++4Wx7wQ+PrAdSFcAmQDoD+SiComv6c3WwxM8z4BhFTbSze7?= =?utf-8?q?Qa3JMNGlvAV5mc14jBxx27M8YYxkLfMW5w9d0bJicqmPIx1D2lJ5I9IpeGAgf3VTk?= =?utf-8?q?aX9iDJ1H78T8DbSBfGPaSYSqDWYL9pgVMKEk7IzbTuSWK0tLgzTr1OZZekb2IxHE8?= =?utf-8?q?OFwIjlxVVDjqHiMHxprURvPYtSwDaaa5Ji7rFLQQowmpy5zh3s+xflecFE56e3sNi?= =?utf-8?q?OD3Sf1Mj5MyyoHTuH8dXZLQb+y/ZxNkAGYmXHTpco4d1ksjIlGBhej4n3UnbTz1B2?= =?utf-8?q?4EPalErzSYeEc4iLZT3ZvHarRoSjSkR6TspHtMCKsG9rML4SkHfJmMYTgb5BePBh2?= =?utf-8?q?7k955VXe2kIrUXdpGyhf19DaSyFQirPgbidEXwBFlxpRIITejZolaki1MIKeb/AXM?= =?utf-8?q?pDlkKqzLDppcr6Cgyy6Fdl+q3PySlZXZVLRwPKqecmCmsZM+Q8uE6tNxRNr7/ETd1?= =?utf-8?q?h6fDuTN5uOoWAeuByw38J3hAa+Dn1s5y8tiXa0JC14gsT+/T+XdgzYkEdUvGkDucP?= =?utf-8?q?IhRK1O+MPjPSZMCNbC7jSd2i5Po8nuNdcEDBW04c0/JUHdaW44TvWbFgoOQwUjTyp?= =?utf-8?q?KN3jhJ5u3IC0KE31SrAbNUlZiulavl9sbtZT6UGxJ6Teo1BiNpVoLgw+buzkt5NQZ?= =?utf-8?q?KshkdvdD1+kV11JgaSUSKsoTCA5n6kAJXxMA2F/mMgptnFEx4Tnfps4ku7lLBdF8n?= =?utf-8?q?IsFVALLfMWQbH/ctp/Uno8VQkM1AaEVNGa1McKCntpvmtUoUmkdO2VmDeiodfVX2F?= =?utf-8?q?Y6yliLCQfYS6JwRSfUezQkG3pBqdvRAycsZtDxQ8ylF2q/KUAg3GfSD9XJNVef8W0?= =?utf-8?q?FFda2TM9+NNzmOG8t0JV65tZJfkZ6dTArMu3qZt5tWFQDG5QRUgV4V3A=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9417.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(52116005)(7416005)(376005)(366007)(1800799015)(921011)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?PkL5u6HQEiqQpBGx1PSYwjbwrMZE?= =?utf-8?q?elTxjc5/TVfMsySYthIy55zR4gsop2ZTzV+unwCsV+S/mKPuXrrggMNDuivIF1RrI?= =?utf-8?q?HEP7tzUTFyixJP1OER7xUBgGvs0UWC1MtHwdkk2DQfakKu+/g0YUmaDT/qb4nna4X?= =?utf-8?q?CaUce1SpY3XxXIb5z4yANjYpCdcXsq31AQJuj6buAiMzrgw6/4AQqZkiiU7XohgeU?= =?utf-8?q?xGKIHw5tf28PIIxO4Lxw+LVoUMEvJDCLWioqS519sMc2VUpuK+pmh40rQ2YZfEJwX?= =?utf-8?q?VyXFLn59FkI6lp2sGE1OJA6xp9iBpGEKOAmbCpX5BWiZMtiGqdWPmlZuqvTtlVYnW?= =?utf-8?q?AqyMwrWl2rTBc5a2DFVnMlgp8edGC2HO5Eu6682F+eOWJLz1TJtXwDSPgw7kmm5T9?= =?utf-8?q?kupa5HDpIbXsVEpEermD220ta1FzwecSBslBx1O0d4wQGVMCxbFHTy7bSZInFLB3y?= =?utf-8?q?itXY9b0iEVO+CZXZtnYrBTlurGOAm2zbXOLo5mgzdi28FeeXpTJ1/bSvwJeCL0iiW?= =?utf-8?q?bhgQBPaYsB0+vVHOlTKBze02db8jRQp5vQw50F7+Q14GxMsT4i218j8wxZg7p7/F3?= =?utf-8?q?ttBwQOEiPtHvgemOftuPTdA1LXgOp936aNE+AN/xET7DoRy4gugmrWSyiKAX4Mswc?= =?utf-8?q?Bk5OWseHeouCu3hCki/y2GCpnGpAjBcNwv8iE9Yr5/tJQqlR42esHc0/P5XC8DpxT?= =?utf-8?q?HEDTXGpl+xUslBZ52UbS4qqus+Ea3kmbUlDNWebmZmOF+ExHCGBCgOhr9prjEFpOt?= =?utf-8?q?COTpkSl0FfdYnVwHp9DA98po1fM6I5YnwAqbY5lXR7d/YQfqSafwx9j+xEQkDh/ZR?= =?utf-8?q?OiQQbRhzJQL7j58Ba82dChGsmfaPL5XnnquozJjQI8UxC/kR/KFvPZOdASpH326so?= =?utf-8?q?x5+oylfIMV/R+tfGiWr+N0C/KTeNF7o/tllOX7zh04ZUgdEnFBI603KYEgjmJXsbs?= =?utf-8?q?NV5lW4scceP+wD6/dCTcxSZWT8waA/U6yBEP+1VQPbkGZ7fI+IvmUapimJwwii0mN?= =?utf-8?q?/r8XgNtTf4tJ+2sRRjGpBc3rDnlmQWqCiVO2BdOWoBGzJdf9GEzRmasdn5wGEMeK0?= =?utf-8?q?nqnYnIOH+5auDXgvwwZUNoyGrnHO0awoUNSmv5FdC4JFecqQVWSyvRIqE7r1wplFD?= =?utf-8?q?TlgwPrbawLJ6VeLgXCAadnav5KuHAW/YMmg0UsA/XY6zSI2kXV4II0OdNGUrGB7OS?= =?utf-8?q?ODjX5GM6wlLf9EWTxLD5lTf0xEOgX8hTiFBlW87guARSgBCf4D9+lmtl4H2s1zIXe?= =?utf-8?q?BpBRHtLDy0clFTPf7ApHb8RtZ40IzRtKI6Zp1LgAK6WV5YSErr5vtUmEiP/HaLoJ0?= =?utf-8?q?MnZrDeS4jOaNzt8/eWCWdylTtkqDXaJXor1BC9uLdrFSkPY396RXfpar9LuVzOYnO?= =?utf-8?q?4ZcQjC3oLfyS2JfCvLkFMrMtoXB3c06dF9fkUarnicyG19mWBFhVIeRKfHl5HCGT2?= =?utf-8?q?04S/eoGXi2XAS74CO44kD90M0IHxPXxNqFbT9KLdqIj9btkvBFLQPHA61ryC+yhtO?= =?utf-8?q?BZ8pzmXye8wu?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: f1a3651a-3d30-46cc-ad5d-08dc69dd9fc2 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 May 2024 12:52:57.0101 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: D3oLRc6l+FkKfo79zh0DsHLNILeEjROEGdxGeEg0+nNZJ2mSCQbwMXmvOULDFDez2sxfMOKB3TAK1TIdpXdBYQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7432 |
Series |
pinctrl: Use scope based of_node_put() cleanups
|
expand
|
diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c index d39afc122516..91edb539925a 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c @@ -621,7 +621,6 @@ static int mtk_pctrl_dt_node_to_map(struct pinctrl_dev *pctldev, struct device_node *np_config, struct pinctrl_map **map, unsigned *num_maps) { - struct device_node *np; unsigned reserved_maps; int ret; @@ -629,12 +628,11 @@ static int mtk_pctrl_dt_node_to_map(struct pinctrl_dev *pctldev, *num_maps = 0; reserved_maps = 0; - for_each_child_of_node(np_config, np) { + for_each_child_of_node_scoped(np_config, np) { ret = mtk_pctrl_dt_subnode_to_map(pctldev, np, map, &reserved_maps, num_maps); if (ret < 0) { pinctrl_utils_free_map(pctldev, *map, *num_maps); - of_node_put(np); return ret; } } diff --git a/drivers/pinctrl/mediatek/pinctrl-paris.c b/drivers/pinctrl/mediatek/pinctrl-paris.c index b19bc391705e..e12316c42698 100644 --- a/drivers/pinctrl/mediatek/pinctrl-paris.c +++ b/drivers/pinctrl/mediatek/pinctrl-paris.c @@ -536,7 +536,6 @@ static int mtk_pctrl_dt_node_to_map(struct pinctrl_dev *pctldev, struct pinctrl_map **map, unsigned *num_maps) { - struct device_node *np; unsigned reserved_maps; int ret; @@ -544,13 +543,12 @@ static int mtk_pctrl_dt_node_to_map(struct pinctrl_dev *pctldev, *num_maps = 0; reserved_maps = 0; - for_each_child_of_node(np_config, np) { + for_each_child_of_node_scoped(np_config, np) { ret = mtk_pctrl_dt_subnode_to_map(pctldev, np, map, &reserved_maps, num_maps); if (ret < 0) { pinctrl_utils_free_map(pctldev, *map, *num_maps); - of_node_put(np); return ret; } }