From patchwork Tue Apr 15 19:05:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 14052589 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 67014C369AB for ; Tue, 15 Apr 2025 19:15:43 +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: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=cCwQ5OH7HpSnUA2I8u4CYx4eXCk/wLDgHDTozLOqFa4=; b=CMSWKYU2qIVxxykOymxIFpKn6x OSPqjmkXgHXcHpxSIo2Rtg9f30gmIhkWiYjYvHg6+3hcn+SeLvpPUDtIL5J5QZEexYz63Dj/+6JKX Ox9X3souakIqsC6Bl67fDGufpvDXvQ13IMtsyS26/OHLxW101ckh22ZtDRiY/6yOh/jPtXXrAIniK N4BXB8x3nhWg8o6MS68PJRKmJklQbwel7bMH4ggbfzhIWNaEJmUNVdTA4AJIMrX7o5vxmbxjRmmae jtxy4RqA8ijokvLq9n6wk/n+iPC0eFKBrDjKqMUQp/Ly5vdkArER77e90jgE4nOLYtfUmQekON10p qiwvrLGg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4lks-00000006qn5-0F7K; Tue, 15 Apr 2025 19:15:34 +0000 Received: from mout.gmx.net ([212.227.15.19]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u4lcb-00000006p4o-26XN for linux-arm-kernel@lists.infradead.org; Tue, 15 Apr 2025 19:07:03 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1744744019; x=1745348819; i=wahrenst@gmx.net; bh=cCwQ5OH7HpSnUA2I8u4CYx4eXCk/wLDgHDTozLOqFa4=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-Id: MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=rMm8JcPsD9eIcYoM7mcg8A2tbPHmA0EuXtg+IChQXevsjkTmDvh/c2UExHWqcjxf EYat+yHz88qj+Cg+jb0eR92MLIJK95+znroZQ+j81IXManVxKt7pqVHLV2Yv9mKEF edOfy9HW6WKmbfMZ1tzcq6zmwH1jbYBRlNKVvvIHmDcLdQXvrmNTVbaivh1f64xDD 4PN+sUGjtOpMS4rn+z+89z4C09MTEUWA0ief2xHkx4BUkJ/oUgewuVuC33OB+L5Xo pD9Kg2bxSsI4a4Ur8edJNexJ09EBIpyT8loMpw959Qp1HLddKs90JVQwVrPK2IbxJ otugwQia/hIdKVwomg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from stefanw-SCHENKER ([37.4.251.153]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MK3Rs-1tjN7d0IbG-00WfDO; Tue, 15 Apr 2025 21:06:59 +0200 From: Stefan Wahren To: Ulf Hansson , Florian Fainelli Cc: Ray Jui , Scott Branden , linux-arm-kernel@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, kernel-list@raspberrypi.com, linux-pm@vger.kernel.org, Stefan Wahren Subject: [PATCH] pmdomain: bcm: bcm2835-power: Use devm_clk_get_optional Date: Tue, 15 Apr 2025 21:05:58 +0200 Message-Id: <20250415190558.16354-1-wahrenst@gmx.net> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Provags-ID: V03:K1:N7eX0O4lhHyMarYIfuL6NEPeVTyAPdwwF3hR3mycEBbzWEDXOaP ql47yOiJHaCTexnzb1pytCdUGaOoZE5xArW0VcQeVqCddVsrzz8TNEZR/Y2n+weh5Baq7YU PeUPkWkW1cdWU+qmqy/d6eCJzkovU1ko3PQ6q08dRMgqXH3U+YhVIE5fEsEdaVnfEI67W/M NBF6pJbEvCYv3iNakmJaA== UI-OutboundReport: notjunk:1;M01:P0:CdB8VSxBqBQ=;nexugSgrq6pyo0EVvAkWB/FXzcE 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 pe7eE++pZJSkl2XxOegaCg= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250415_120701_828059_F9CDC0A1 X-CRM114-Status: UNSURE ( 9.86 ) X-CRM114-Notice: Please train this message. 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 The driver tries to implement optional clock handling with devm_clk_get. It treats all errors except EPROBE_DEFER as a missing clock, which is not correct. So use devm_clk_get_optional here and get the corner-cases right. Signed-off-by: Stefan Wahren Reviewed-by: Florian Fainelli --- drivers/pmdomain/bcm/bcm2835-power.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/pmdomain/bcm/bcm2835-power.c b/drivers/pmdomain/bcm/bcm2835-power.c index d3cd816979ac..f5289fd184d0 100644 --- a/drivers/pmdomain/bcm/bcm2835-power.c +++ b/drivers/pmdomain/bcm/bcm2835-power.c @@ -506,18 +506,10 @@ bcm2835_init_power_domain(struct bcm2835_power *power, struct device *dev = power->dev; struct bcm2835_power_domain *dom = &power->domains[pd_xlate_index]; - dom->clk = devm_clk_get(dev->parent, name); - if (IS_ERR(dom->clk)) { - int ret = PTR_ERR(dom->clk); - - if (ret == -EPROBE_DEFER) - return ret; - - /* Some domains don't have a clk, so make sure that we - * don't deref an error pointer later. - */ - dom->clk = NULL; - } + dom->clk = devm_clk_get_optional(dev->parent, name); + if (IS_ERR(dom->clk)) + return dev_err_probe(dev, PTR_ERR(dom->clk), "Failed to get clock %s\n", + name); dom->base.name = name; dom->base.flags = GENPD_FLAG_ACTIVE_WAKEUP;