[PATCH 0/3] Fixup use of runtime pm

STALE5076d

16 messages, 6 authors, 2012-10-03 · open the first message on its own page

[PATCH 0/3] Fixup use of runtime pm

From: Ulf Hansson <hidden>
Date: 2012-09-28 11:21:03

From: Ulf Hansson <redacted>

Some old runtime pm patches got merged whiched messed up things.
These is now reverted. Additionaly one patch do a simplification
of the use of runtime pm functions.

Ulf Hansson (3):
  Revert "spi/pl022: fix spi-pl022 pm enable at probe"
  Revert "spi/pl022: enable runtime PM"
  spi: spi-pl022: Minor simplification for runtime pm

 drivers/spi/spi-pl022.c |    8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

-- 
1.7.10

[PATCH 1/3] Revert "spi/pl022: fix spi-pl022 pm enable at probe"

From: Ulf Hansson <hidden>
Date: 2012-09-28 11:21:04

From: Ulf Hansson <redacted>

This reverts commit 6887237cd7da904184dab2750504040c68f3a080.

Signed-off-by: Ulf Hansson <redacted>
---
 drivers/spi/spi-pl022.c |    1 +
 1 file changed, 1 insertion(+)
diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c
index f8568b4..3f2f36c 100644
--- a/drivers/spi/spi-pl022.c
+++ b/drivers/spi/spi-pl022.c
@@ -2188,6 +2188,7 @@ pl022_probe(struct amba_device *adev, const struct amba_id *id)
 	printk(KERN_INFO "pl022: mapped registers from 0x%08x to %p\n",
 	       adev->res.start, pl022->virtbase);
 
+	pm_runtime_enable(dev);
 	pm_runtime_resume(dev);
 
 	pl022->clk = clk_get(&adev->dev, NULL);
-- 
1.7.10

[PATCH 2/3] Revert "spi/pl022: enable runtime PM"

From: Ulf Hansson <hidden>
Date: 2012-09-28 11:21:05

From: Ulf Hansson <redacted>

This reverts commit 2fb30d1147c599f5657e8c62c862f9a0f58d9d99.

Signed-off-by: Ulf Hansson <redacted>
---
 drivers/spi/spi-pl022.c |    4 ----
 1 file changed, 4 deletions(-)
diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c
index 3f2f36c..05cfb61e 100644
--- a/drivers/spi/spi-pl022.c
+++ b/drivers/spi/spi-pl022.c
@@ -2188,9 +2188,6 @@ pl022_probe(struct amba_device *adev, const struct amba_id *id)
 	printk(KERN_INFO "pl022: mapped registers from 0x%08x to %p\n",
 	       adev->res.start, pl022->virtbase);
 
-	pm_runtime_enable(dev);
-	pm_runtime_resume(dev);
-
 	pl022->clk = clk_get(&adev->dev, NULL);
 	if (IS_ERR(pl022->clk)) {
 		status = PTR_ERR(pl022->clk);
@@ -2303,7 +2300,6 @@ pl022_remove(struct amba_device *adev)
 	clk_disable(pl022->clk);
 	clk_unprepare(pl022->clk);
 	clk_put(pl022->clk);
-	pm_runtime_disable(&adev->dev);
 	iounmap(pl022->virtbase);
 	amba_release_regions(adev);
 	tasklet_disable(&pl022->pump_transfers);
-- 
1.7.10

[PATCH 3/3] spi: spi-pl022: Minor simplification for runtime pm

From: Ulf Hansson <hidden>
Date: 2012-09-28 11:21:06

From: Ulf Hansson <redacted>

In probe pm_runtime_put_autosuspend has the same effect as doing
pm_runtime_put. This due to upper layer in driver core is preventing
the device from being runtime suspended by a pm_runtime_get*.

Signed-off-by: Ulf Hansson <redacted>
---
 drivers/spi/spi-pl022.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c
index 05cfb61e..e51a026 100644
--- a/drivers/spi/spi-pl022.c
+++ b/drivers/spi/spi-pl022.c
@@ -2248,10 +2248,9 @@ pl022_probe(struct amba_device *adev, const struct amba_id *id)
 		pm_runtime_set_autosuspend_delay(dev,
 			platform_info->autosuspend_delay);
 		pm_runtime_use_autosuspend(dev);
-		pm_runtime_put_autosuspend(dev);
-	} else {
-		pm_runtime_put(dev);
 	}
+	pm_runtime_put(dev);
+
 	return 0;
 
  err_spi_register:
-- 
1.7.10

[PATCH 0/3] Fixup use of runtime pm

From: Ulf Hansson <hidden>
Date: 2012-09-28 11:25:52

Sorry for the heading, should be spi: spi-pl022"

Kind regards
Ulf Hansson

On 28 September 2012 13:21, Ulf Hansson [off-list ref] wrote:
From: Ulf Hansson <redacted>

Some old runtime pm patches got merged whiched messed up things.
These is now reverted. Additionaly one patch do a simplification
of the use of runtime pm functions.

Ulf Hansson (3):
  Revert "spi/pl022: fix spi-pl022 pm enable at probe"
  Revert "spi/pl022: enable runtime PM"
  spi: spi-pl022: Minor simplification for runtime pm

 drivers/spi/spi-pl022.c |    8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

--
1.7.10

[PATCH 1/3] Revert "spi/pl022: fix spi-pl022 pm enable at probe"

From: vipul kumar samar <hidden>
Date: 2012-09-28 11:45:53

Hello Ulf,

On 9/28/2012 4:51 PM, Ulf HANSSON wrote:
quoted hunk
From: Ulf Hansson<redacted>

This reverts commit 6887237cd7da904184dab2750504040c68f3a080.

Signed-off-by: Ulf Hansson<redacted>
---
  drivers/spi/spi-pl022.c |    1 +
  1 file changed, 1 insertion(+)
diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c
index f8568b4..3f2f36c 100644
--- a/drivers/spi/spi-pl022.c
+++ b/drivers/spi/spi-pl022.c
@@ -2188,6 +2188,7 @@ pl022_probe(struct amba_device *adev, const struct amba_id *id)
  	printk(KERN_INFO "pl022: mapped registers from 0x%08x to %p\n",
  	       adev->res.start, pl022->virtbase);

+	pm_runtime_enable(dev);
Before calling spi-pl022 probe, amba_probe enables runtime pm. Is it 
requires to re-enable it in spi-pl022 probe??

Regards
Vipul Samar

[PATCH 2/3] Revert "spi/pl022: enable runtime PM"

From: vipul kumar samar <hidden>
Date: 2012-09-28 11:50:41

Hello ulf,

On 9/28/2012 4:51 PM, Ulf HANSSON wrote:
quoted hunk
From: Ulf Hansson<redacted>

This reverts commit 2fb30d1147c599f5657e8c62c862f9a0f58d9d99.

Signed-off-by: Ulf Hansson<redacted>
---
  drivers/spi/spi-pl022.c |    4 ----
  1 file changed, 4 deletions(-)
diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c
index 3f2f36c..05cfb61e 100644
--- a/drivers/spi/spi-pl022.c
+++ b/drivers/spi/spi-pl022.c
@@ -2188,9 +2188,6 @@ pl022_probe(struct amba_device *adev, const struct amba_id *id)
  	printk(KERN_INFO "pl022: mapped registers from 0x%08x to %p\n",
  	       adev->res.start, pl022->virtbase);

-	pm_runtime_enable(dev);
-	pm_runtime_resume(dev);
-
  	pl022->clk = clk_get(&adev->dev, NULL);
  	if (IS_ERR(pl022->clk)) {
  		status = PTR_ERR(pl022->clk);
@@ -2303,7 +2300,6 @@ pl022_remove(struct amba_device *adev)
  	clk_disable(pl022->clk);
  	clk_unprepare(pl022->clk);
  	clk_put(pl022->clk);
-	pm_runtime_disable(&adev->dev);
  	iounmap(pl022->virtbase);
  	amba_release_regions(adev);
  	tasklet_disable(&pl022->pump_transfers);
sorry..Now i got it you revert complete rumtime patch.

Regards
Vipul Samar

[PATCH 1/3] Revert "spi/pl022: fix spi-pl022 pm enable at probe"

From: Linus Walleij <hidden>
Date: 2012-09-30 08:44:17

On Fri, Sep 28, 2012 at 1:21 PM, Ulf Hansson [off-list ref] wrote:
From: Ulf Hansson <redacted>

This reverts commit 6887237cd7da904184dab2750504040c68f3a080.

Signed-off-by: Ulf Hansson <redacted>
Why?

It was removed in this commit, is it wrong?

Author: Michel JAOUEN [off-list ref]
Date:   Fri Aug 17 17:28:41 2012 +0200

    spi/pl022: fix spi-pl022 pm enable at probe

    amba drivers does not need to enable pm runtime at probe.
    amba_probe already enables pm runtime.

    This rids this warning in the ux500 boot log:
    ssp-pl022 ssp0: Unbalanced pm_runtime_enable!

    Signed-off-by: Michel JAOUEN [off-list ref]
    Signed-off-by: Linus Walleij [off-list ref]
    Signed-off-by: Mark Brown [off-list ref]

Yours,
Linus Walleij

[PATCH 1/3] Revert "spi/pl022: fix spi-pl022 pm enable at probe"

From: Russell King - ARM Linux <hidden>
Date: 2012-09-30 10:14:18

On Sun, Sep 30, 2012 at 10:44:17AM +0200, Linus Walleij wrote:
On Fri, Sep 28, 2012 at 1:21 PM, Ulf Hansson [off-list ref] wrote:
quoted
From: Ulf Hansson <redacted>

This reverts commit 6887237cd7da904184dab2750504040c68f3a080.

Signed-off-by: Ulf Hansson <redacted>
Why?

It was removed in this commit, is it wrong?
Linus, please read the previous thread on pl022.

The long and short of it is that your commit 2fb30d1147c599f5657e8c62c862f9a0f58d9d99
(spi/pl022: enable runtime PM) is totally broken, and Michel came along
trying to fix the resulting breakage by partially removing your commit
in 6887237cd7da904184dab2750504040c68f3a080 (spi/pl022: fix spi-pl022
pm enable at probe).

The reason why your commit is wrong is:

                pm_runtime_get_noresume(dev);
                pm_runtime_set_active(dev);
                pm_runtime_enable(dev);

                ret = pcdrv->probe(pcdev, id);

So, adding this in spi-pl022 probe:

+       pm_runtime_enable(dev);
+       pm_runtime_resume(dev);

makes the sequence:

	pm_runtime_get_noresume(dev);
	pm_runtime_set_active(dev);
	pm_runtime_enable(dev);
	pm_runtime_enable(dev);
	pm_runtime_resume(dev);

which is absolute rubbish.  Your commit should never have gone into any
tree.

The real answer is to revert both commits to get the driver back to a
sane state, before then progressing with the driver in a sane manner.
This is what Ulf is doing.

[PATCH 1/3] Revert "spi/pl022: fix spi-pl022 pm enable at probe"

From: Linus Walleij <hidden>
Date: 2012-09-30 21:43:33

On Sun, Sep 30, 2012 at 12:14 PM, Russell King - ARM Linux
[off-list ref] wrote:
The real answer is to revert both commits to get the driver back to a
sane state, before then progressing with the driver in a sane manner.
This is what Ulf is doing.
Aha, mea culpa.
Acked-by: Linus Walleij <redacted>

For all of them, I'll read up on this exploding backlog and then Ulf
will hammer me at the office until I understand this stuff properly...

Yours,
Linus Walleij

[PATCH 2/3] Revert "spi/pl022: enable runtime PM"

From: Linus Walleij <hidden>
Date: 2012-09-30 21:46:55

On Fri, Sep 28, 2012 at 1:21 PM, Ulf Hansson [off-list ref] wrote:
From: Ulf Hansson <redacted>

This reverts commit 2fb30d1147c599f5657e8c62c862f9a0f58d9d99.

Signed-off-by: Ulf Hansson <redacted>
Reviewed-by: Linus Walleij <redacted>

Thanks for fixing my stupid mistakes ...
Linus Walleij

[PATCH 3/3] spi: spi-pl022: Minor simplification for runtime pm

From: Linus Walleij <hidden>
Date: 2012-09-30 21:47:26

On Fri, Sep 28, 2012 at 1:21 PM, Ulf Hansson [off-list ref] wrote:
From: Ulf Hansson <redacted>

In probe pm_runtime_put_autosuspend has the same effect as doing
pm_runtime_put. This due to upper layer in driver core is preventing
the device from being runtime suspended by a pm_runtime_get*.

Signed-off-by: Ulf Hansson <redacted>
Reviewed-by: Linus Walleij <redacted>

Yours,
Linus Walleij

[PATCH 1/3] Revert "spi/pl022: fix spi-pl022 pm enable at probe"

From: Ulf Hansson <hidden>
Date: 2012-10-03 13:43:16

Hi Mark and Grant,

Heard from Linus Walleij that you Mark has been helping out merging
spi patches, did not know that when sending out this series. Anyway,
do you guys see any issues merging this?

[PATCH 1/3] Revert "spi/pl022: fix spi-pl022 pm enable at probe"
[PATCH 2/3] Revert "spi/pl022: enable runtime PM"
[PATCH 3/3] spi: spi-pl022: Minor simplification for runtime pm

Kind regards
Ulf Hansson

On 28 September 2012 13:21, Ulf Hansson [off-list ref] wrote:
quoted hunk
From: Ulf Hansson <redacted>

This reverts commit 6887237cd7da904184dab2750504040c68f3a080.

Signed-off-by: Ulf Hansson <redacted>
---
 drivers/spi/spi-pl022.c |    1 +
 1 file changed, 1 insertion(+)
diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c
index f8568b4..3f2f36c 100644
--- a/drivers/spi/spi-pl022.c
+++ b/drivers/spi/spi-pl022.c
@@ -2188,6 +2188,7 @@ pl022_probe(struct amba_device *adev, const struct amba_id *id)
        printk(KERN_INFO "pl022: mapped registers from 0x%08x to %p\n",
               adev->res.start, pl022->virtbase);

+       pm_runtime_enable(dev);
        pm_runtime_resume(dev);

        pl022->clk = clk_get(&adev->dev, NULL);
--
1.7.10

[PATCH 1/3] Revert "spi/pl022: fix spi-pl022 pm enable at probe"

From: Mark Brown <hidden>
Date: 2012-10-03 13:55:57

On Wed, Oct 03, 2012 at 03:43:16PM +0200, Ulf Hansson wrote:
Heard from Linus Walleij that you Mark has been helping out merging
spi patches, did not know that when sending out this series. Anyway,
do you guys see any issues merging this?
[PATCH 1/3] Revert "spi/pl022: fix spi-pl022 pm enable at probe"
[PATCH 2/3] Revert "spi/pl022: enable runtime PM"
[PATCH 3/3] spi: spi-pl022: Minor simplification for runtime pm
If someone could send the patches I'll take a look...  some explanation
as to why we're reverting things would be helpful.

[PATCH 1/3] Revert "spi/pl022: fix spi-pl022 pm enable at probe"

From: Ulf Hansson <hidden>
Date: 2012-10-03 14:28:34

Hi Mark,

I will do a resend and include some explanation for the reverts in the
"cover-letter".

Kind regards
Ulf Hansson

On 3 October 2012 15:55, Mark Brown [off-list ref] wrote:
On Wed, Oct 03, 2012 at 03:43:16PM +0200, Ulf Hansson wrote:
quoted
Heard from Linus Walleij that you Mark has been helping out merging
spi patches, did not know that when sending out this series. Anyway,
do you guys see any issues merging this?
quoted
[PATCH 1/3] Revert "spi/pl022: fix spi-pl022 pm enable at probe"
[PATCH 2/3] Revert "spi/pl022: enable runtime PM"
[PATCH 3/3] spi: spi-pl022: Minor simplification for runtime pm
If someone could send the patches I'll take a look...  some explanation
as to why we're reverting things would be helpful.

[PATCH 1/3] Revert "spi/pl022: fix spi-pl022 pm enable at probe"

From: Mark Brown <hidden>
Date: 2012-10-03 14:29:14

On Wed, Oct 03, 2012 at 04:28:34PM +0200, Ulf Hansson wrote:
I will do a resend and include some explanation for the reverts in the
"cover-letter".
It'd be good if the explanation could be in the commit logs so that
people reading history can understand things.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help