Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp450220pxu; Tue, 5 Jan 2021 16:13:42 -0800 (PST) X-Google-Smtp-Source: ABdhPJyz3vkSeC38DbfSgXzGfNC+hTRPrNGeTf50y85NJd6+GSCCkHAQLVxWPpsgA7s2KWvt8ICO X-Received: by 2002:a17:906:7e0b:: with SMTP id e11mr1176878ejr.533.1609892022372; Tue, 05 Jan 2021 16:13:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1609892022; cv=none; d=google.com; s=arc-20160816; b=FwbxC2DsxoS1lYokr+CMnHWELSf6iIwP1/wQ9wPvDby6RnNF5mJwKs/PA5QpVerNM3 l9SUPJW0cPlTDmBmkZTLOospFDm8jhTg1EVqjcVgcQ8zPFJjragH7a/2GKFMIVQWqq2l pb8eKyWg5chyOOkuoFuQWXuxpDvJvZ51ukxYFvi6h+YQ2yiUWOyfUOd4H/B9P83uFwcb cnIcYhbRh4pC04sMw2PHpSkvo5YArit+8SdGCotSMdLdV5EOo26qNGd864iwqIPZZC/R BD1Xu2uDHeGJeA3+GJz7Ei1N86uysWytzG0F0Lmk4i69xffZPzMRL83xq9B9NoQxjGN/ CLQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:reply-to :in-reply-to:references:mime-version:dkim-signature; bh=w3y172ugq1A8+DfHjAatLK3oOwXsMQTLgHeUXaHnUCU=; b=CuzFeHsXmPfTMQI+L6JgO/WRgN9HsdUNP6vc4z5FdDBUGBHq2F9Ja8a6+IXav60RPB y9DQ8T8/WGvWXA1+FGrWDJQRKiArzW88l1MsPNAtaXQxgUqkJZmN4yPZ6YF5sP5MtH3/ j2MmvCtvODyjChbCJeuyZm5PQJWFcUJai9EAs6q/ZqGXzp30+cAsZjipWeFX/G/y8F3z Ly+rm+iHrKh5W9B9rfM4QpQMy32Z7cvMQdmojEgjkd46as7K108q247nCZVBZ8gLS9Rp RNF5OAYMwAIoy+uPGf6HkZPyg4bDHcJbtQHXlsoQ9D+6/p8Ks/oqJFfjFKWQac6cEonk NVcA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tBCWlgeI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j15si276462edv.474.2021.01.05.16.13.19; Tue, 05 Jan 2021 16:13:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tBCWlgeI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731016AbhAEUAY (ORCPT + 99 others); Tue, 5 Jan 2021 15:00:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52500 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728383AbhAEUAW (ORCPT ); Tue, 5 Jan 2021 15:00:22 -0500 Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com [IPv6:2a00:1450:4864:20::12b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 395B7C061793; Tue, 5 Jan 2021 11:59:42 -0800 (PST) Received: by mail-lf1-x12b.google.com with SMTP id l11so1395884lfg.0; Tue, 05 Jan 2021 11:59:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:reply-to:from:date:message-id :subject:to:cc; bh=w3y172ugq1A8+DfHjAatLK3oOwXsMQTLgHeUXaHnUCU=; b=tBCWlgeIGyCHy0ayfKSb2hKeKiEoFzcgiAtzEEfHQ70m4TqSwGsZqX3Xnx4VJJnvbt n0OP+1QygM+MIfVv5A7Ue/siY9qUR3JrwvKGHP2W3QTyiHhYMLJ6zdE5Ged8pj1n+RjK Bb3lYAmgD2urDHD+97GcmaR9/cYTYUc3lvg36iKQWZkukTkf+xsDRudzvwcq2WaBpdlE x0mE68kMXoFvZrIZWNkF8AnSu3p+LzNJVWTcYgez90NbFkWXHh7/NpKY2fPkuOEA7ZKB w1aIj7VtjxtrBSQz6IaOTRs86szJNL8Gutp0tvolPIaAjingl3R6BlglT66Kk2USW+JA gNew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=w3y172ugq1A8+DfHjAatLK3oOwXsMQTLgHeUXaHnUCU=; b=Uf/I3Ff5O/z44dopGdFH8VxMEy+ps1lg2RbF8K2iK1xaV9636T3q/i+iYVyUz8Zyni MsWVVGYV317Br2hWF051LgKpCrQQHDELvspCXtbGdThQCYNy+XtsQDRrPIJHCE5g2CUn EagliKp6DMlD8opHoL7k/2bqsP9vcJr1BCDiroubtkJJaVmWaBeRsHN0Jm3ieCOWOift 6nSBgguqmLI1KVE3C4wzsqu/PCVOGNE41U6sbkHn1ZVoa1V25290yMCYinIrSgxKAUHF zqz0xqumSuZ+BLm4+C5wp2VZPA+3fhGmqSIl5xmiwImFBlPW7nSMEWmyg0JG3x92wW04 LYaQ== X-Gm-Message-State: AOAM531POKnTvTZAfrh/y7+Go/Vz1dUBRj/f9Vi+j6ruoHUjl8lYn95s mLb00hDHWBa72lE/jSkb+1QGupnzOYrpw4F6szU= X-Received: by 2002:a2e:8156:: with SMTP id t22mr509678ljg.263.1609876780665; Tue, 05 Jan 2021 11:59:40 -0800 (PST) MIME-Version: 1.0 References: <20210103035540.23886-1-tiny.windzz@gmail.com> In-Reply-To: Reply-To: cwchoi00@gmail.com From: Chanwoo Choi Date: Wed, 6 Jan 2021 04:59:04 +0900 Message-ID: Subject: Re: [PATCH 28/31] PM / devfreq: imx8m-ddrc: convert to use devm_pm_opp_* API To: Yangtao Li Cc: MyungJoo Ham , Kyungmin Park , Chanwoo Choi , Krzysztof Kozlowski , Shawn Guo , s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, dl-linux-imx , Dmitry Osipenko , Thierry Reding , Jonathan Hunter , yuq825@gmail.com, David Airlie , Daniel Vetter , robdclark@gmail.com, sean@poorly.run, Rob Herring , tomeu.vizoso@collabora.com, steven.price@arm.com, alyssa.rosenzweig@collabora.com, Stanimir Varbanov , agross@kernel.org, Bjorn Andersson , mchehab@kernel.org, Lukasz Luba , adrian.hunter@intel.com, Ulf Hansson , Viresh Kumar , Nishanth Menon , Stephen Boyd , Mark Brown , Greg KH , jirislaby@kernel.org, "Rafael J. Wysocki" , jcrouse@codeaurora.org, hoegsberg@google.com, eric@anholt.net, tzimmermann@suse.de, marijn.suijten@somainline.org, gustavoars@kernel.org, emil.velikov@collabora.com, Jonathan Marek , akhilpo@codeaurora.org, smasetty@codeaurora.org, airlied@redhat.com, masneyb@onstation.org, kalyan_t@codeaurora.org, tanmay@codeaurora.org, ddavenport@chromium.org, jsanka@codeaurora.org, rnayak@codeaurora.org, tongtiangen@huawei.com, miaoqinglang@huawei.com, khsieh@codeaurora.org, abhinavk@codeaurora.org, chandanu@codeaurora.org, Guenter Roeck , varar@codeaurora.org, Matthias Kaehlcke , harigovi@codeaurora.org, rikard.falkeborn@gmail.com, natechancellor@gmail.com, Georgi Djakov , akashast@codeaurora.org, parashar@codeaurora.org, Doug Anderson , Linux PM list , linux-kernel , linux-samsung-soc , linux-arm-kernel , linux-tegra@vger.kernel.org, dri-devel , lima@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-media@vger.kernel.org, linux-mmc@vger.kernel.org, linux-spi@vger.kernel.org, linux-serial@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Yangtao, On Tue, Jan 5, 2021 at 1:13 PM Chanwoo Choi wrote: > > On Sun, Jan 3, 2021 at 12:58 PM Yangtao Li wrote: > > > > Use devm_pm_opp_* API to simplify code. > > > > Signed-off-by: Yangtao Li > > --- > > drivers/devfreq/imx8m-ddrc.c | 15 ++------------- > > 1 file changed, 2 insertions(+), 13 deletions(-) > > > > diff --git a/drivers/devfreq/imx8m-ddrc.c b/drivers/devfreq/imx8m-ddrc.c > > index bc82d3653bff..9383d6e5538b 100644 > > --- a/drivers/devfreq/imx8m-ddrc.c > > +++ b/drivers/devfreq/imx8m-ddrc.c > > @@ -370,11 +370,6 @@ static int imx8m_ddrc_check_opps(struct device *dev) > > return 0; > > } > > > > -static void imx8m_ddrc_exit(struct device *dev) > > -{ > > - dev_pm_opp_of_remove_table(dev); > > -} > > - > > static int imx8m_ddrc_probe(struct platform_device *pdev) > > { > > struct device *dev = &pdev->dev; > > @@ -419,7 +414,7 @@ static int imx8m_ddrc_probe(struct platform_device *pdev) > > return ret; > > } > > > > - ret = dev_pm_opp_of_add_table(dev); > > + ret = devm_pm_opp_of_add_table(dev); > > if (ret < 0) { > > dev_err(dev, "failed to get OPP table\n"); > > return ret; > > @@ -427,12 +422,11 @@ static int imx8m_ddrc_probe(struct platform_device *pdev) > > > > ret = imx8m_ddrc_check_opps(dev); > > if (ret < 0) > > - goto err; > > + return ret; > > > > priv->profile.polling_ms = 1000; > > priv->profile.target = imx8m_ddrc_target; > > priv->profile.get_dev_status = imx8m_ddrc_get_dev_status; > > - priv->profile.exit = imx8m_ddrc_exit; > > priv->profile.get_cur_freq = imx8m_ddrc_get_cur_freq; > > priv->profile.initial_freq = clk_get_rate(priv->dram_core); > > > > @@ -441,13 +435,8 @@ static int imx8m_ddrc_probe(struct platform_device *pdev) > > if (IS_ERR(priv->devfreq)) { > > ret = PTR_ERR(priv->devfreq); > > dev_err(dev, "failed to add devfreq device: %d\n", ret); > > - goto err; > > } > > > > - return 0; > > - > > -err: > > - dev_pm_opp_of_remove_table(dev); > > return ret; > > devm_devfreq_add_device() doesn't return any integer value. > Even if devm_devfreq_add_device() returns the right devfreq instance, > the 'ret' value is not the return value of devm_devfreq_add_device(). > > On this patch, 'ret' value of 'return ret' is from imx8m_ddrc_check_opps(). > Surely, it is well working with this modification. But, it is not code > for exception handling. > So, we need to remain the following codes: > > return 0; > err: > return ret; > 'err' is not necessary. You better to edit it as following: if (IS_ERR(priv->devfreq)) { dev_err(dev, "failed to add devfreq device: %d\n", ret); return PTR_ERR(priv->devfreq); } return 0; -- Best Regards, Chanwoo Choi