From patchwork Thu Jun 27 09:11:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Herve Codina X-Patchwork-Id: 13714219 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 98C74C2BD09 for ; Thu, 27 Jun 2024 11:25:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type: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=L6TlKweuD4lCqBxL9SdGBmVX01IhcfhXMnuiuGHqhBE=; b=eSM7BDAUdOTM786NRhUECJKuzx z+5HoG0ONtFCSNYQ8H3xx+/23Gauftf2ij410wG+znMkKJKUyXJ6/xD09kiUqOieQ3vS09aBIFS4s PpMxlnxj2XWl1RkNFOL7kQNApbOM3RobQ22owzQiOTUydCPGI/jaGd8Jw+lIpUPxh04BnC1Farwai 7bNkCXz8hVaZVRx8ajAXL95ZKSPtkN9O2308fQ5GKUUShdEbP9GFmi8tW4fO7hU1nbI864xuIsUIY tVvI53jcMW2orqpJbBK3QfLbdIADELBvuVtEnqJpq66GR6Y2345QWhClD4XI/uShpfjm/0/n5jOeQ 0QWp+yeg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sMnEe-0000000A99g-09Tl; Thu, 27 Jun 2024 11:24:16 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sMnBN-0000000A8dO-2iWv for linux-arm-kernel@bombadil.infradead.org; Thu, 27 Jun 2024 11:21:02 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type :MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Sender:Reply-To:Content-ID:Content-Description; bh=L6TlKweuD4lCqBxL9SdGBmVX01IhcfhXMnuiuGHqhBE=; b=NKtFrb/49bY0TorTyTDJVGmN5h Tgq2STlik30nY9JGl/Vrhlq4scoUpYVIMbXcH+N8LZlVxUgkmo+Ibxy+3uQvWUef+1QviUTpj29ua DZjQxeUwpwnapa4EZm0ymFrKQ5Qe8meITQ2thjtMQtoL2sYyncvDCVvs8IXAhU8rurUKmsPgnQRid eh0K09hztlI3ZIyIuZkHDPHLftIY+k0p+VaotfjAPYrGVzYTo0+DV3onTLGUMO52VwFB+2Pf9jizZ 37VtFonzqJrz0YRKkVdWCFDWZFQx1ZKI0k/DLZnA24Q+UkL90BZ35bbET88WD+j+1AY/L42kdlcgo D71Ae0aw==; Received: from relay7-d.mail.gandi.net ([2001:4b98:dc4:8::227]) by desiato.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sMlAu-00000008mkY-43xd for linux-arm-kernel@lists.infradead.org; Thu, 27 Jun 2024 09:12:20 +0000 Received: by mail.gandi.net (Postfix) with ESMTPA id 0937B2000D; Thu, 27 Jun 2024 09:12:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1719479536; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=L6TlKweuD4lCqBxL9SdGBmVX01IhcfhXMnuiuGHqhBE=; b=PF0YolHs2RPWduLcKVo8IiDdMOd+WO07PgBDKe9DZFVzbH60i9zN+FOWbpJiTwJfcTtND/ xxwLsyh9KOsBxlWQBFOyOngRhf2JKpDLpQGskVLAp+l6SV7lEKjV/2vb7Kjh8NoJEmIQjo b2xZCduYEy1Q3016a9/AZuIBeiW61H8P3KRM3dr7nY7bN2Z227jtNVQcbmJxvvWqTxHZE1 +6MYVBlbSjNIuBTRvlwpp2VQsvrqVyj5XHVSRYC2OuzbxOLMpoWUizJoxdhzzSHw0PWKDB IlY2IsvRYNtM+KVIR0TZ47Vv33U9r+1RlKuWoQIs2bR/QKG7FH/S/wPfBeCb4Q== From: Herve Codina To: Andy Shevchenko , Simon Horman , Herve Codina , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Arnd Bergmann , UNGLinuxDriver@microchip.com, Saravana Kannan , Bjorn Helgaas , Philipp Zabel , Lars Povlsen , Steen Hegelund , Daniel Machon Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Horatiu Vultur , Andrew Lunn , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, netdev@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Allan Nielsen , Steen Hegelund , Luca Ceresoli , Thomas Petazzoni , =?utf-8?b?Q2zDqW1lbnQgTMOp?= =?utf-8?b?Z2Vy?= Subject: [PATCH v3 3/7] reset: mchp: sparx5: Release syscon when not use anymore Date: Thu, 27 Jun 2024 11:11:32 +0200 Message-ID: <20240627091137.370572-4-herve.codina@bootlin.com> X-Mailer: git-send-email 2.45.0 In-Reply-To: <20240627091137.370572-1-herve.codina@bootlin.com> References: <20240627091137.370572-1-herve.codina@bootlin.com> MIME-Version: 1.0 X-GND-Sasl: herve.codina@bootlin.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240627_101218_440266_38DB828C X-CRM114-Status: GOOD ( 15.14 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Clément Léger The sparx5 reset controller does not release syscon when it is not used anymore. This reset controller is used by the LAN966x PCI device driver. It can be removed from the system at runtime and needs to release its consumed syscon on removal. Use the newly introduced devm_syscon_regmap_lookup_by_phandle() in order to get the syscon and automatically release it on removal. Signed-off-by: Clément Léger Signed-off-by: Herve Codina --- drivers/reset/reset-microchip-sparx5.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/reset/reset-microchip-sparx5.c b/drivers/reset/reset-microchip-sparx5.c index 69915c7b4941..c4fe65291a43 100644 --- a/drivers/reset/reset-microchip-sparx5.c +++ b/drivers/reset/reset-microchip-sparx5.c @@ -65,15 +65,11 @@ static const struct reset_control_ops sparx5_reset_ops = { static int mchp_sparx5_map_syscon(struct platform_device *pdev, char *name, struct regmap **target) { - struct device_node *syscon_np; + struct device *dev = &pdev->dev; struct regmap *regmap; int err; - syscon_np = of_parse_phandle(pdev->dev.of_node, name, 0); - if (!syscon_np) - return -ENODEV; - regmap = syscon_node_to_regmap(syscon_np); - of_node_put(syscon_np); + regmap = devm_syscon_regmap_lookup_by_phandle(dev, dev->of_node, name); if (IS_ERR(regmap)) { err = PTR_ERR(regmap); dev_err(&pdev->dev, "No '%s' map: %d\n", name, err);