From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, FREEMAIL_REPLYTO_END_DIGIT,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4163EC433E9 for ; Tue, 5 Jan 2021 20:00:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 1848F22D72 for ; Tue, 5 Jan 2021 20:00:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731066AbhAEUAY (ORCPT ); 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-Google-Smtp-Source: ABdhPJxefm71gCAP6d5oS17blFAwFnEd9spoEWiCV79bTaAMdk7JG8QCTPTs9zQB67DoNESWvQ4nEkOaTe/eEP/zqxs= 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-tegra@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 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.5 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, FREEMAIL_REPLYTO_END_DIGIT,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BDD64C433E0 for ; Tue, 5 Jan 2021 19:59:44 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 548C322D5A for ; Tue, 5 Jan 2021 19:59:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 548C322D5A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 69CC96E077; Tue, 5 Jan 2021 19:59:43 +0000 (UTC) Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com [IPv6:2a00:1450:4864:20::134]) by gabe.freedesktop.org (Postfix) with ESMTPS id 648DE89F4A; Tue, 5 Jan 2021 19:59:42 +0000 (UTC) Received: by mail-lf1-x134.google.com with SMTP id 23so1240915lfg.10; 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=dgTZH0/tC1nYNRCgpcOuY5TTv+H0if9RmBhmFYaPlQY6ejziRuQ5JKi1oq8ozCYVO5 rAEKfQ2Z6jfcJixMkTRfA4QpdIgSVxRc5DOzHFRH8hHmMkpqF1cS4QTHQkZTLLc3yqNa fgHWMFOBdppb+jMIf6Oit7uwXccZMxPeAyNTC+QvgCnIXNOWPefhmNKdIgc0vvhov9L3 NKhlJz2RCI61CWuoJ5A5nt8qRhi0JIYWHzUcsCpg1AALRJSq4Nw0AUzkQzcKRZ75sVA/ vFPy1Cit3d5c7KcnTwSUtSU9LvVmoHVDZvNy08FEIuBkqz3wjoYFFkg3flcfr8YZhyxk 2NiA== X-Gm-Message-State: AOAM533CGhtW2KiPDsUhF88Qj/GrhVhqkaFmtDrzUX5ev04djSgaFX7d b0KTCk7NNBjZd6OsYoOsO8r1OzM1iMEnkFh4Fo8= X-Google-Smtp-Source: ABdhPJxefm71gCAP6d5oS17blFAwFnEd9spoEWiCV79bTaAMdk7JG8QCTPTs9zQB67DoNESWvQ4nEkOaTe/eEP/zqxs= 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: 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 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: cwchoi00@gmail.com Cc: Nishanth Menon , Ulf Hansson , gustavoars@kernel.org, jirislaby@kernel.org, David Airlie , linux-mmc@vger.kernel.org, Stanimir Varbanov , tanmay@codeaurora.org, Bjorn Andersson , natechancellor@gmail.com, Thierry Reding , tongtiangen@huawei.com, Guenter Roeck , marijn.suijten@somainline.org, Dmitry Osipenko , steven.price@arm.com, Matthias Kaehlcke , chandanu@codeaurora.org, emil.velikov@collabora.com, linux-samsung-soc , Jonathan Marek , harigovi@codeaurora.org, adrian.hunter@intel.com, Viresh Kumar , Linux PM list , Kyungmin Park , Krzysztof Kozlowski , Jonathan Hunter , Chanwoo Choi , MyungJoo Ham , alyssa.rosenzweig@collabora.com, linux-serial@vger.kernel.org, airlied@redhat.com, smasetty@codeaurora.org, dl-linux-imx , freedreno@lists.freedesktop.org, kernel@pengutronix.de, tzimmermann@suse.de, linux-arm-msm@vger.kernel.org, s.hauer@pengutronix.de, linux-spi@vger.kernel.org, linux-media@vger.kernel.org, abhinavk@codeaurora.org, akhilpo@codeaurora.org, khsieh@codeaurora.org, lima@lists.freedesktop.org, Mark Brown , rikard.falkeborn@gmail.com, kalyan_t@codeaurora.org, linux-tegra@vger.kernel.org, varar@codeaurora.org, mchehab@kernel.org, sean@poorly.run, linux-arm-kernel , Doug Anderson , akashast@codeaurora.org, rnayak@codeaurora.org, parashar@codeaurora.org, tomeu.vizoso@collabora.com, Stephen Boyd , Greg KH , dri-devel , "Rafael J. Wysocki" , agross@kernel.org, linux-kernel , miaoqinglang@huawei.com, hoegsberg@google.com, yuq825@gmail.com, ddavenport@chromium.org, masneyb@onstation.org, Shawn Guo , Georgi Djakov , Lukasz Luba Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" 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 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel