Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp824089pxb; Tue, 12 Apr 2022 14:29:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzFWh4OPPXAUlGleTKiYMBzbXUqU3+sxiTYNo56DlnBAmBF1859WR90nVV95aIhaX6Ab9qN X-Received: by 2002:a17:902:cecd:b0:158:6be9:cb9e with SMTP id d13-20020a170902cecd00b001586be9cb9emr10530889plg.64.1649798946295; Tue, 12 Apr 2022 14:29:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649798946; cv=none; d=google.com; s=arc-20160816; b=jX8VD97Nytb2ENTZePbgAQb/rJpIVI/1Bdaxuh1l2+cPwUllFNsJfdFZvq1KZD2pcy qi0hPZRomeaEbQlnadHeVcy8CR36yq6DQkTlXx/hbin8LfeHaNK/mi81w5K4EnrOhiLQ ivTwnbbyUc1TdZpb1xGWTO3aHBVGd4ER5zhdOu/ZIYhe5Wa2naB7hVBQE5uOyw+Cv5x5 yQIBxWXNNEYqJ1hCP2H5QpFumKY6FcVqsfU8H1IPmdxziqZ+/tEzt8IT/xnyJeLihwV8 2amREKTw+7xI6hj0q4GI0HgYZ6TQfcKBJFwaN7P+Mw+omLwaCtequWwUoSmydhzvpq2C GFuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature :dkim-signature; bh=SCBBhq7C9q0Z6mR7hQqmWZHCx1ZocRttm3x1QobmTTg=; b=fA1anNGYZc5zwOf4iTPYmOisG8Mi0wWlqibc+F65DoS9Hpjz6CmqPz0oq6pk19uFh4 OjpFzVz5dSIrRui0jiI8dGnl6m4YiCFz7nXX39bo+/HkrBFhKLLPppJQg1zamngX49u7 GUYW1ete4ebPTeRstwdjpgtzRgkPMPet/oBNYWUunb5BGBydymIfq8wSxiasUlIIEvY0 f2iqGOTvONGxTVMFAGNhMSErV75KrxRBvPG0PTk4VHK/yrzYMybXWxafpo97TFQ/KpgK bVAALS0yc9mo2LPbEpYaKHXdR8uj2a3OQQ68vdknKfFhdLkz7shwbzFBCdjyMsApUgrR GUIQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cerno.tech header.s=fm3 header.b="QA+HwR/C"; dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=eXPnv5Aa; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cerno.tech Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id y4-20020a056a00180400b00505b758c8d8si8506291pfa.12.2022.04.12.14.29.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Apr 2022 14:29:06 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@cerno.tech header.s=fm3 header.b="QA+HwR/C"; dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=eXPnv5Aa; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cerno.tech Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id E9C70117C9A; Tue, 12 Apr 2022 13:40:40 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1356124AbiDLN3h (ORCPT + 99 others); Tue, 12 Apr 2022 09:29:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38318 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1356875AbiDLN2P (ORCPT ); Tue, 12 Apr 2022 09:28:15 -0400 Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com [64.147.123.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A6A1610FF2 for ; Tue, 12 Apr 2022 06:23:30 -0700 (PDT) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 816853200D53; Tue, 12 Apr 2022 09:23:29 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Tue, 12 Apr 2022 09:23:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm3; t=1649769809; x=1649856209; bh=SCBBhq7C9q 0Z6mR7hQqmWZHCx1ZocRttm3x1QobmTTg=; b=QA+HwR/CwtCKhYGOcy9Z1ZwoEP inlBN2ws97HMBG/hMwgNWmPRguDSmiKr0/BZNLpGZUA8q5ZZCuIQ07806K+Nu8wK sFbKZrqUeDstfgwZTC+R4v6zdbx4vlk3ZLRrp50BiJbTKDZcN+5R4ZVMkMytFjC1 j0aRg9WwXSzK6BUX5BBSlPccQb7upozo37NR6jADtIuiCrT/MDR8rq3sRjYQ81Da jVt9cJTzhOhyjoIaKbmAA6hWnYpIjqYvhyN5SNZ8ZY5Q18bozkYlKQpzAjAMOutM b6lWyAhYUXat95dTmFq0KxIGGxhb/UYp2ngsxEe2SxxR14VDQS6omEEcYDTw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1649769809; x= 1649856209; bh=SCBBhq7C9q0Z6mR7hQqmWZHCx1ZocRttm3x1QobmTTg=; b=e XPnv5AadguhgwzimhsdMBgjPMrSYdpp+TnjGKJ4FJw+68TnBXeDKp1wbAPQhwJrg K/C7vrPZq2y6WiPh1geWoz8vSpJGyL1qFCezZ9ULBCyrnE3juylOkeuPXZkueFLi SBbUrb3o4BxGDlAMsGG+RB5pwzrqpXOTNgt8cMkhVT/BAiZMAJwkbQP+fEE6Qz59 ZqrKt1mbCiKLFOqx153EnIupjOT+iU+yK1ThDi7GJ5WAJr3P7aJ+OFXaRvBRf+ED qceJbixeumR4D7sPffWhD2bcwhTi2OGVv0Da1w0dKLouFLZ3uymsTE5NvD99FxoU O9UiIrisktUT7HPhd0DNA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvvddrudekkedgiedvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpeforgigihhm vgcutfhiphgrrhguuceomhgrgihimhgvsegtvghrnhhordhtvggthheqnecuggftrfgrth htvghrnhepleekgeehhfdutdeljefgleejffehfffgieejhffgueefhfdtveetgeehieeh gedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmh grgihimhgvsegtvghrnhhordhtvggthh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 12 Apr 2022 09:23:27 -0400 (EDT) Date: Tue, 12 Apr 2022 15:23:25 +0200 From: Maxime Ripard To: Samuel Holland Cc: Chen-Yu Tsai , Jernej Skrabec , Daniel Vetter , David Airlie , Philipp Zabel , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev Subject: Re: [PATCH 3/6] drm/sun4i: sun8i-hdmi-phy: Used device-managed clocks/resets Message-ID: <20220412132325.bq2c3g2fskckfgpz@houat> References: <20220412043512.49364-1-samuel@sholland.org> <20220412043512.49364-4-samuel@sholland.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="542vfuzlbowtb4mg" Content-Disposition: inline In-Reply-To: <20220412043512.49364-4-samuel@sholland.org> X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --542vfuzlbowtb4mg Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, On Mon, Apr 11, 2022 at 11:35:08PM -0500, Samuel Holland wrote: > Now that the HDMI PHY is using a platform driver, it can use device- > managed resources. Use these, as well as the dev_err_probe helper, to > simplify the probe function and get rid of the remove function. >=20 > Signed-off-by: Samuel Holland > --- >=20 > drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c | 100 ++++++++----------------- > 1 file changed, 30 insertions(+), 70 deletions(-) >=20 > diff --git a/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c b/drivers/gpu/drm/sun= 4i/sun8i_hdmi_phy.c > index 1effa30bfe62..1351e633d485 100644 > --- a/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c > +++ b/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c > @@ -673,10 +673,8 @@ int sun8i_hdmi_phy_get(struct sun8i_dw_hdmi *hdmi, s= truct device_node *node) > static int sun8i_hdmi_phy_probe(struct platform_device *pdev) > { > struct device *dev =3D &pdev->dev; > - struct device_node *node =3D dev->of_node; > struct sun8i_hdmi_phy *phy; > void __iomem *regs; > - int ret; > =20 > phy =3D devm_kzalloc(dev, sizeof(*phy), GFP_KERNEL); > if (!phy) > @@ -686,88 +684,50 @@ static int sun8i_hdmi_phy_probe(struct platform_dev= ice *pdev) > phy->dev =3D dev; > =20 > regs =3D devm_platform_ioremap_resource(pdev, 0); > - if (IS_ERR(regs)) { > - dev_err(dev, "Couldn't map the HDMI PHY registers\n"); > - return PTR_ERR(regs); > - } > + if (IS_ERR(regs)) > + return dev_err_probe(dev, PTR_ERR(regs), > + "Couldn't map the HDMI PHY registers\n"); > =20 > phy->regs =3D devm_regmap_init_mmio(dev, regs, > &sun8i_hdmi_phy_regmap_config); > - if (IS_ERR(phy->regs)) { > - dev_err(dev, "Couldn't create the HDMI PHY regmap\n"); > - return PTR_ERR(phy->regs); > - } > + if (IS_ERR(phy->regs)) > + return dev_err_probe(dev, PTR_ERR(phy->regs), > + "Couldn't create the HDMI PHY regmap\n"); > =20 > - phy->clk_bus =3D of_clk_get_by_name(node, "bus"); > - if (IS_ERR(phy->clk_bus)) { > - dev_err(dev, "Could not get bus clock\n"); > - return PTR_ERR(phy->clk_bus); > - } > - > - phy->clk_mod =3D of_clk_get_by_name(node, "mod"); > - if (IS_ERR(phy->clk_mod)) { > - dev_err(dev, "Could not get mod clock\n"); > - ret =3D PTR_ERR(phy->clk_mod); > - goto err_put_clk_bus; > - } > + phy->clk_bus =3D devm_clk_get(dev, "bus"); > + if (IS_ERR(phy->clk_bus)) > + return dev_err_probe(dev, PTR_ERR(phy->clk_bus), > + "Could not get bus clock\n"); > =20 > - if (phy->variant->has_phy_clk) { > - phy->clk_pll0 =3D of_clk_get_by_name(node, "pll-0"); > - if (IS_ERR(phy->clk_pll0)) { > - dev_err(dev, "Could not get pll-0 clock\n"); > - ret =3D PTR_ERR(phy->clk_pll0); > - goto err_put_clk_mod; > - } > - > - if (phy->variant->has_second_pll) { > - phy->clk_pll1 =3D of_clk_get_by_name(node, "pll-1"); > - if (IS_ERR(phy->clk_pll1)) { > - dev_err(dev, "Could not get pll-1 clock\n"); > - ret =3D PTR_ERR(phy->clk_pll1); > - goto err_put_clk_pll0; > - } > - } > - } > + phy->clk_mod =3D devm_clk_get(dev, "mod"); > + if (IS_ERR(phy->clk_mod)) > + return dev_err_probe(dev, PTR_ERR(phy->clk_mod), > + "Could not get mod clock\n"); > =20 > - phy->rst_phy =3D of_reset_control_get_shared(node, "phy"); > - if (IS_ERR(phy->rst_phy)) { > - dev_err(dev, "Could not get phy reset control\n"); > - ret =3D PTR_ERR(phy->rst_phy); > - goto err_put_clk_pll1; > - } > + if (phy->variant->has_phy_clk) > + phy->clk_pll0 =3D devm_clk_get(dev, "pll-0"); > + if (IS_ERR(phy->clk_pll0)) > + return dev_err_probe(dev, PTR_ERR(phy->clk_pll0), > + "Could not get pll-0 clock\n"); > + > + if (phy->variant->has_second_pll) > + phy->clk_pll1 =3D devm_clk_get(dev, "pll-1"); > + if (IS_ERR(phy->clk_pll1)) > + return dev_err_probe(dev, PTR_ERR(phy->clk_pll1), > + "Could not get pll-1 clock\n"); > + > + phy->rst_phy =3D devm_reset_control_get_shared(dev, "phy"); > + if (IS_ERR(phy->rst_phy)) > + return dev_err_probe(dev, PTR_ERR(phy->rst_phy), > + "Could not get phy reset control\n"); I find the old construct clearer with the imbricated blocks. Otherwise, the rest of the series looks fine, thanks! Maxime --542vfuzlbowtb4mg Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCYlV9TQAKCRDj7w1vZxhR xXz3AQCLd+iM9nW9TMjH67uErKUxeCFePEosuu47NlHJp2MjHQD/dC1dKOtp1lTu FRHk3m7R4Cr2sMERznd+wOMkOdpzjQk= =f6v7 -----END PGP SIGNATURE----- --542vfuzlbowtb4mg--