linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 26/31] PM / devfreq: tegra30: convert to use devm_pm_opp_* API
@ 2021-01-03  3:54 Yangtao Li
  2021-01-04  7:30 ` Viresh Kumar
  2021-01-05  3:47 ` Chanwoo Choi
  0 siblings, 2 replies; 4+ messages in thread
From: Yangtao Li @ 2021-01-03  3:54 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, and remove opp_table
from tegra_devfreq.

Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
---
 drivers/devfreq/tegra30-devfreq.c | 21 +++++++--------------
 1 file changed, 7 insertions(+), 14 deletions(-)

diff --git a/drivers/devfreq/tegra30-devfreq.c b/drivers/devfreq/tegra30-devfreq.c
index 117cad7968ab..4984cb91e9ea 100644
--- a/drivers/devfreq/tegra30-devfreq.c
+++ b/drivers/devfreq/tegra30-devfreq.c
@@ -178,7 +178,6 @@ struct tegra_devfreq_soc_data {
 
 struct tegra_devfreq {
 	struct devfreq		*devfreq;
-	struct opp_table	*opp_table;
 
 	struct reset_control	*reset;
 	struct clk		*clock;
@@ -794,6 +793,7 @@ static int tegra_devfreq_probe(struct platform_device *pdev)
 	struct tegra_devfreq_device *dev;
 	struct tegra_devfreq *tegra;
 	struct devfreq *devfreq;
+	struct opp_tabl	*opp_table;
 	unsigned int i;
 	long rate;
 	int err;
@@ -841,25 +841,25 @@ static int tegra_devfreq_probe(struct platform_device *pdev)
 		return err;
 	}
 
-	tegra->opp_table = dev_pm_opp_set_supported_hw(&pdev->dev,
-						       &hw_version, 1);
-	err = PTR_ERR_OR_ZERO(tegra->opp_table);
+	opp_table = devm_pm_opp_set_supported_hw(&pdev->dev,
+						 &hw_version, 1);
+	err = PTR_ERR_OR_ZERO(opp_table);
 	if (err) {
 		dev_err(&pdev->dev, "Failed to set supported HW: %d\n", err);
 		return err;
 	}
 
-	err = dev_pm_opp_of_add_table(&pdev->dev);
+	err = devm_pm_opp_of_add_table(&pdev->dev);
 	if (err) {
 		dev_err(&pdev->dev, "Failed to add OPP table: %d\n", err);
-		goto put_hw;
+		return err;
 	}
 
 	err = clk_prepare_enable(tegra->clock);
 	if (err) {
 		dev_err(&pdev->dev,
 			"Failed to prepare and enable ACTMON clock\n");
-		goto remove_table;
+		return err;
 	}
 
 	err = reset_control_reset(tegra->reset);
@@ -917,10 +917,6 @@ static int tegra_devfreq_probe(struct platform_device *pdev)
 	reset_control_reset(tegra->reset);
 disable_clk:
 	clk_disable_unprepare(tegra->clock);
-remove_table:
-	dev_pm_opp_of_remove_table(&pdev->dev);
-put_hw:
-	dev_pm_opp_put_supported_hw(tegra->opp_table);
 
 	return err;
 }
@@ -935,9 +931,6 @@ static int tegra_devfreq_remove(struct platform_device *pdev)
 	reset_control_reset(tegra->reset);
 	clk_disable_unprepare(tegra->clock);
 
-	dev_pm_opp_of_remove_table(&pdev->dev);
-	dev_pm_opp_put_supported_hw(tegra->opp_table);
-
 	return 0;
 }
 
-- 
2.25.1


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

* Re: [PATCH 26/31] PM / devfreq: tegra30: convert to use devm_pm_opp_* API
  2021-01-03  3:54 [PATCH 26/31] PM / devfreq: tegra30: convert to use devm_pm_opp_* API Yangtao Li
@ 2021-01-04  7:30 ` Viresh Kumar
  2021-01-05  3:47 ` Chanwoo Choi
  1 sibling, 0 replies; 4+ messages in thread
From: Viresh Kumar @ 2021-01-04  7:30 UTC (permalink / raw)
  To: Yangtao Li
  Cc: 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, ddavenport, jsanka, rnayak,
	tongtiangen, miaoqinglang, khsieh, abhinavk, chandanu, groeck,
	varar, mka, harigovi, rikard.falkeborn, natechancellor,
	georgi.djakov, akashast, parashar, dianders, 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

On 03-01-21, 03:54, Yangtao Li wrote:
> Use devm_pm_opp_* API to simplify code, and remove opp_table
> from tegra_devfreq.

Patches starting this one didn't appear in the same thread and it is a
nightmare to apply these now. Please send everything properly next
time.

-- 
viresh

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

* Re: [PATCH 26/31] PM / devfreq: tegra30: convert to use devm_pm_opp_* API
  2021-01-03  3:54 [PATCH 26/31] PM / devfreq: tegra30: convert to use devm_pm_opp_* API Yangtao Li
  2021-01-04  7:30 ` Viresh Kumar
@ 2021-01-05  3:47 ` Chanwoo Choi
  2021-01-06 18:17   ` Dmitry Osipenko
  1 sibling, 1 reply; 4+ messages in thread
From: Chanwoo Choi @ 2021-01-05  3:47 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

Hi,

On Sun, Jan 3, 2021 at 12:57 PM Yangtao Li <tiny.windzz@gmail.com> wrote:
>
> Use devm_pm_opp_* API to simplify code, and remove opp_table
> from tegra_devfreq.
>
> Signed-off-by: Yangtao Li <tiny.windzz@gmail.com>
> ---
>  drivers/devfreq/tegra30-devfreq.c | 21 +++++++--------------
>  1 file changed, 7 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/devfreq/tegra30-devfreq.c b/drivers/devfreq/tegra30-devfreq.c
> index 117cad7968ab..4984cb91e9ea 100644
> --- a/drivers/devfreq/tegra30-devfreq.c
> +++ b/drivers/devfreq/tegra30-devfreq.c
> @@ -178,7 +178,6 @@ struct tegra_devfreq_soc_data {
>
>  struct tegra_devfreq {
>         struct devfreq          *devfreq;
> -       struct opp_table        *opp_table;
>
>         struct reset_control    *reset;
>         struct clk              *clock;
> @@ -794,6 +793,7 @@ static int tegra_devfreq_probe(struct platform_device *pdev)
>         struct tegra_devfreq_device *dev;
>         struct tegra_devfreq *tegra;
>         struct devfreq *devfreq;
> +       struct opp_tabl *opp_table;

opp_tabl -> opp_table. It will make the build error. Please do build
test at least.

>         unsigned int i;
>         long rate;
>         int err;
> @@ -841,25 +841,25 @@ static int tegra_devfreq_probe(struct platform_device *pdev)
>                 return err;
>         }
>
> -       tegra->opp_table = dev_pm_opp_set_supported_hw(&pdev->dev,
> -                                                      &hw_version, 1);
> -       err = PTR_ERR_OR_ZERO(tegra->opp_table);
> +       opp_table = devm_pm_opp_set_supported_hw(&pdev->dev,
> +                                                &hw_version, 1);
> +       err = PTR_ERR_OR_ZERO(opp_table);
>         if (err) {
>                 dev_err(&pdev->dev, "Failed to set supported HW: %d\n", err);
>                 return err;
>         }
>
> -       err = dev_pm_opp_of_add_table(&pdev->dev);
> +       err = devm_pm_opp_of_add_table(&pdev->dev);
>         if (err) {
>                 dev_err(&pdev->dev, "Failed to add OPP table: %d\n", err);
> -               goto put_hw;
> +               return err;
>         }
>
>         err = clk_prepare_enable(tegra->clock);
>         if (err) {
>                 dev_err(&pdev->dev,
>                         "Failed to prepare and enable ACTMON clock\n");
> -               goto remove_table;
> +               return err;
>         }
>
>         err = reset_control_reset(tegra->reset);
> @@ -917,10 +917,6 @@ static int tegra_devfreq_probe(struct platform_device *pdev)
>         reset_control_reset(tegra->reset);
>  disable_clk:
>         clk_disable_unprepare(tegra->clock);
> -remove_table:
> -       dev_pm_opp_of_remove_table(&pdev->dev);
> -put_hw:
> -       dev_pm_opp_put_supported_hw(tegra->opp_table);

You might remove the 'devm_pm_opp_remove_all_dynamic(&pdev->dev)
under ' remove_opp' goto statement.kkkk


(snip)
-- 
Best Regards,
Chanwoo Choi

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

* Re: [PATCH 26/31] PM / devfreq: tegra30: convert to use devm_pm_opp_* API
  2021-01-05  3:47 ` Chanwoo Choi
@ 2021-01-06 18:17   ` Dmitry Osipenko
  0 siblings, 0 replies; 4+ messages in thread
From: Dmitry Osipenko @ 2021-01-06 18:17 UTC (permalink / raw)
  To: cwchoi00, Yangtao Li
  Cc: MyungJoo Ham, Kyungmin Park, Chanwoo Choi, Krzysztof Kozlowski,
	Shawn Guo, s.hauer, kernel, festevam, dl-linux-imx,
	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

05.01.2021 06:47, Chanwoo Choi пишет:
> You might remove the 'devm_pm_opp_remove_all_dynamic(&pdev->dev)
> under ' remove_opp' goto statement.kkkk

Good catch, thank you.

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

end of thread, other threads:[~2021-01-06 18:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-03  3:54 [PATCH 26/31] PM / devfreq: tegra30: convert to use devm_pm_opp_* API Yangtao Li
2021-01-04  7:30 ` Viresh Kumar
2021-01-05  3:47 ` Chanwoo Choi
2021-01-06 18:17   ` Dmitry Osipenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).