All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 28/31] PM / devfreq: imx8m-ddrc: convert to use devm_pm_opp_* API
@ 2021-01-03  3:55 ` Yangtao Li
  0 siblings, 0 replies; 6+ messages in thread
From: Yangtao Li @ 2021-01-03  3:55 UTC (permalink / raw)
  To: myungjoo.ham, kyungmin.park, cw00.choi, krzk, shawnguo, s.hauer,
	kernel, festevam, linux-imx, digetx, thierry.reding, jonathanh,
	yuq825, airlied, daniel, robdclark, sean, robh, tomeu.vizoso,
	steven.price, alyssa.rosenzweig, stanimir.varbanov, agross,
	bjorn.andersson, mchehab, lukasz.luba, adrian.hunter,
	ulf.hansson, vireshk, nm, sboyd, broonie, gregkh, jirislaby, rjw,
	jcrouse, hoegsberg, eric, tzimmermann, marijn.suijten,
	gustavoars, emil.velikov, jonathan, akhilpo, smasetty, airlied,
	masneyb, kalyan_t, tanmay, tiny.windzz, ddavenport, jsanka,
	rnayak, tongtiangen, miaoqinglang, khsieh, abhinavk, chandanu,
	groeck, varar, mka, harigovi, rikard.falkeborn, natechancellor,
	georgi.djakov, akashast, parashar, dianders
  Cc: linux-pm, linux-kernel, linux-samsung-soc, linux-arm-kernel,
	linux-tegra, dri-devel, lima, linux-arm-msm, freedreno,
	linux-media, linux-mmc, linux-spi, linux-serial

Use devm_pm_opp_* API to simplify code.

Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
---
 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;
 }
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 28/31] PM / devfreq: imx8m-ddrc: convert to use devm_pm_opp_* API
@ 2021-01-03  3:55 ` Yangtao Li
  0 siblings, 0 replies; 6+ messages in thread
From: Yangtao Li @ 2021-01-03  3:55 UTC (permalink / raw)
  To: myungjoo.ham, kyungmin.park, cw00.choi, krzk, shawnguo, s.hauer,
	kernel, festevam, linux-imx, digetx, thierry.reding, jonathanh,
	yuq825, airlied, daniel, robdclark, sean, robh, tomeu.vizoso,
	steven.price, alyssa.rosenzweig, stanimir.varbanov, agross,
	bjorn.andersson, mchehab, lukasz.luba, adrian.hunter,
	ulf.hansson, vireshk, nm, sboyd, broonie, gregkh, jirislaby, rjw,
	jcrouse, hoegsberg, eric, tzimmermann, marijn.suijten,
	gustavoars, emil.velikov, jonathan, akhilpo, smasetty, airlied,
	masneyb, kalyan_t, tanmay, tiny.windzz, ddavenport, jsanka,
	rnayak, tongtiangen, miaoqinglang, khsieh, abhinavk, chandanu,
	groeck, varar, mka, harigovi, rikard.falkeborn, natechancellor,
	georgi.djakov, akashast, parashar, dianders
  Cc: linux-samsung-soc, lima, linux-pm, linux-arm-msm, linux-mmc,
	linux-kernel, dri-devel, linux-spi, linux-serial, linux-tegra,
	freedreno, linux-arm-kernel, linux-media

Use devm_pm_opp_* API to simplify code.

Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
---
 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;
 }
 
-- 
2.25.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 28/31] PM / devfreq: imx8m-ddrc: convert to use devm_pm_opp_* API
  2021-01-03  3:55 ` Yangtao Li
@ 2021-01-05  4:13   ` Chanwoo Choi
  -1 siblings, 0 replies; 6+ messages in thread
From: Chanwoo Choi @ 2021-01-05  4:13 UTC (permalink / raw)
  To: Yangtao Li
  Cc: MyungJoo Ham, Kyungmin Park, Chanwoo Choi, Krzysztof Kozlowski,
	Shawn Guo, s.hauer, kernel, festevam, dl-linux-imx,
	Dmitry Osipenko, Thierry Reding, Jonathan Hunter, yuq825,
	David Airlie, daniel, robdclark, sean, Rob Herring, tomeu.vizoso,
	steven.price, alyssa.rosenzweig, stanimir.varbanov, agross,
	Bjorn Andersson, mchehab, Lukasz Luba, adrian.hunter,
	Ulf Hansson, Viresh Kumar, Nishanth Menon, Stephen Boyd,
	Mark Brown, Greg KH, jirislaby, Rafael J. Wysocki, jcrouse,
	hoegsberg, eric, tzimmermann, marijn.suijten, gustavoars,
	emil.velikov, jonathan, akhilpo, smasetty, airlied, masneyb,
	kalyan_t, tanmay, ddavenport, jsanka, rnayak, tongtiangen,
	miaoqinglang, khsieh, abhinavk, chandanu, Guenter Roeck, varar,
	Matthias Kaehlcke, harigovi, rikard.falkeborn, natechancellor,
	Georgi Djakov, akashast, parashar, Doug Anderson, Linux PM list,
	linux-kernel, linux-samsung-soc, linux-arm-kernel, linux-tegra,
	dri-devel, lima, linux-arm-msm, freedreno, linux-media,
	linux-mmc, linux-spi, linux-serial

On Sun, Jan 3, 2021 at 12:58 PM Yangtao Li <tiny.windzz@gmail.com> wrote:
>
> Use devm_pm_opp_* API to simplify code.
>
> Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
> ---
>  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;

>  }
>
> --
> 2.25.1
>


-- 
Best Regards,
Chanwoo Choi

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 28/31] PM / devfreq: imx8m-ddrc: convert to use devm_pm_opp_* API
@ 2021-01-05  4:13   ` Chanwoo Choi
  0 siblings, 0 replies; 6+ messages in thread
From: Chanwoo Choi @ 2021-01-05  4:13 UTC (permalink / raw)
  To: Yangtao Li
  Cc: Nishanth Menon, Ulf Hansson, gustavoars, jirislaby, David Airlie,
	linux-mmc, stanimir.varbanov, tanmay, Bjorn Andersson,
	natechancellor, Thierry Reding, tongtiangen, Guenter Roeck,
	marijn.suijten, Dmitry Osipenko, steven.price, Matthias Kaehlcke,
	chandanu, emil.velikov, linux-samsung-soc, jonathan, harigovi,
	adrian.hunter, Viresh Kumar, Linux PM list, Kyungmin Park,
	Krzysztof Kozlowski, Jonathan Hunter, Chanwoo Choi, MyungJoo Ham,
	alyssa.rosenzweig, linux-serial, airlied, smasetty, dl-linux-imx,
	freedreno, kernel, tzimmermann, linux-arm-msm, s.hauer,
	linux-spi, linux-media, abhinavk, akhilpo, khsieh, lima,
	Mark Brown, rikard.falkeborn, kalyan_t, linux-tegra, varar,
	mchehab, sean, linux-arm-kernel, Doug Anderson, akashast, rnayak,
	parashar, tomeu.vizoso, Stephen Boyd, Greg KH, dri-devel,
	Rafael J. Wysocki, agross, linux-kernel, miaoqinglang, hoegsberg,
	yuq825, ddavenport, masneyb, Shawn Guo, Georgi Djakov,
	Lukasz Luba

On Sun, Jan 3, 2021 at 12:58 PM Yangtao Li <tiny.windzz@gmail.com> wrote:
>
> Use devm_pm_opp_* API to simplify code.
>
> Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
> ---
>  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;

>  }
>
> --
> 2.25.1
>


-- 
Best Regards,
Chanwoo Choi
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 28/31] PM / devfreq: imx8m-ddrc: convert to use devm_pm_opp_* API
  2021-01-05  4:13   ` Chanwoo Choi
@ 2021-01-05 19:59     ` Chanwoo Choi
  -1 siblings, 0 replies; 6+ messages in thread
From: Chanwoo Choi @ 2021-01-05 19:59 UTC (permalink / raw)
  To: Yangtao Li
  Cc: MyungJoo Ham, Kyungmin Park, Chanwoo Choi, Krzysztof Kozlowski,
	Shawn Guo, s.hauer, kernel, festevam, dl-linux-imx,
	Dmitry Osipenko, Thierry Reding, Jonathan Hunter, yuq825,
	David Airlie, Daniel Vetter, robdclark, sean, Rob Herring,
	tomeu.vizoso, steven.price, alyssa.rosenzweig, Stanimir Varbanov,
	agross, Bjorn Andersson, mchehab, Lukasz Luba, adrian.hunter,
	Ulf Hansson, Viresh Kumar, Nishanth Menon, Stephen Boyd,
	Mark Brown, Greg KH, jirislaby, Rafael J. Wysocki, jcrouse,
	hoegsberg, eric, tzimmermann, marijn.suijten, gustavoars,
	emil.velikov, Jonathan Marek, akhilpo, smasetty, airlied,
	masneyb, kalyan_t, tanmay, ddavenport, jsanka, rnayak,
	tongtiangen, miaoqinglang, khsieh, abhinavk, chandanu,
	Guenter Roeck, varar, Matthias Kaehlcke, harigovi,
	rikard.falkeborn, natechancellor, Georgi Djakov, akashast,
	parashar, Doug Anderson, Linux PM list, linux-kernel,
	linux-samsung-soc, linux-arm-kernel, linux-tegra, dri-devel,
	lima, linux-arm-msm, freedreno, linux-media, linux-mmc,
	linux-spi, linux-serial

Hi Yangtao,

On Tue, Jan 5, 2021 at 1:13 PM Chanwoo Choi <cwchoi00@gmail.com> wrote:
>
> On Sun, Jan 3, 2021 at 12:58 PM Yangtao Li <tiny.windzz@gmail.com> wrote:
> >
> > Use devm_pm_opp_* API to simplify code.
> >
> > Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
> > ---
> >  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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 28/31] PM / devfreq: imx8m-ddrc: convert to use devm_pm_opp_* API
@ 2021-01-05 19:59     ` Chanwoo Choi
  0 siblings, 0 replies; 6+ messages in thread
From: Chanwoo Choi @ 2021-01-05 19:59 UTC (permalink / raw)
  To: Yangtao Li
  Cc: Nishanth Menon, Ulf Hansson, gustavoars, jirislaby, David Airlie,
	linux-mmc, Stanimir Varbanov, tanmay, Bjorn Andersson,
	natechancellor, Thierry Reding, tongtiangen, Guenter Roeck,
	marijn.suijten, Dmitry Osipenko, steven.price, Matthias Kaehlcke,
	chandanu, emil.velikov, linux-samsung-soc, Jonathan Marek,
	harigovi, adrian.hunter, Viresh Kumar, Linux PM list,
	Kyungmin Park, Krzysztof Kozlowski, Jonathan Hunter,
	Chanwoo Choi, MyungJoo Ham, alyssa.rosenzweig, linux-serial,
	airlied, smasetty, dl-linux-imx, freedreno, kernel, tzimmermann,
	linux-arm-msm, s.hauer, linux-spi, linux-media, abhinavk,
	akhilpo, khsieh, lima, Mark Brown, rikard.falkeborn, kalyan_t,
	linux-tegra, varar, mchehab, sean, linux-arm-kernel,
	Doug Anderson, akashast, rnayak, parashar, tomeu.vizoso,
	Stephen Boyd, Greg KH, dri-devel, Rafael J. Wysocki, agross,
	linux-kernel, miaoqinglang, hoegsberg, yuq825, ddavenport,
	masneyb, Shawn Guo, Georgi Djakov, Lukasz Luba

Hi Yangtao,

On Tue, Jan 5, 2021 at 1:13 PM Chanwoo Choi <cwchoi00@gmail.com> wrote:
>
> On Sun, Jan 3, 2021 at 12:58 PM Yangtao Li <tiny.windzz@gmail.com> wrote:
> >
> > Use devm_pm_opp_* API to simplify code.
> >
> > Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
> > ---
> >  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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-01-05 20:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-03  3:55 [PATCH 28/31] PM / devfreq: imx8m-ddrc: convert to use devm_pm_opp_* API Yangtao Li
2021-01-03  3:55 ` Yangtao Li
2021-01-05  4:13 ` Chanwoo Choi
2021-01-05  4:13   ` Chanwoo Choi
2021-01-05 19:59   ` Chanwoo Choi
2021-01-05 19:59     ` Chanwoo Choi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.