diff mbox

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

Message ID 1348831266-16721-2-git-send-email-ulf.hansson@stericsson.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ulf Hansson Sept. 28, 2012, 11:21 a.m. UTC
From: Ulf Hansson <ulf.hansson@linaro.org>

This reverts commit 6887237cd7da904184dab2750504040c68f3a080.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 drivers/spi/spi-pl022.c |    1 +
 1 file changed, 1 insertion(+)

Comments

vipul kumar samar Sept. 28, 2012, 11:45 a.m. UTC | #1
Hello Ulf,

On 9/28/2012 4:51 PM, Ulf HANSSON wrote:
> From: Ulf Hansson<ulf.hansson@linaro.org>
>
> This reverts commit 6887237cd7da904184dab2750504040c68f3a080.
>
> Signed-off-by: Ulf Hansson<ulf.hansson@linaro.org>
> ---
>   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
Linus Walleij Sept. 30, 2012, 8:44 a.m. UTC | #2
On Fri, Sep 28, 2012 at 1:21 PM, Ulf Hansson <ulf.hansson@stericsson.com> wrote:

> From: Ulf Hansson <ulf.hansson@linaro.org>
>
> This reverts commit 6887237cd7da904184dab2750504040c68f3a080.
>
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

Why?

It was removed in this commit, is it wrong?

Author: Michel JAOUEN <michel.jaouen@stericsson.com>
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 <michel.jaouen@stericsson.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

Yours,
Linus Walleij
Russell King - ARM Linux Sept. 30, 2012, 10:14 a.m. UTC | #3
On Sun, Sep 30, 2012 at 10:44:17AM +0200, Linus Walleij wrote:
> On Fri, Sep 28, 2012 at 1:21 PM, Ulf Hansson <ulf.hansson@stericsson.com> wrote:
> 
> > From: Ulf Hansson <ulf.hansson@linaro.org>
> >
> > This reverts commit 6887237cd7da904184dab2750504040c68f3a080.
> >
> > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> 
> 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.
Linus Walleij Sept. 30, 2012, 9:43 p.m. UTC | #4
On Sun, Sep 30, 2012 at 12:14 PM, Russell King - ARM Linux
<linux@arm.linux.org.uk> 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 <linus.walleij@linaro.org>

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
Ulf Hansson Oct. 3, 2012, 1:43 p.m. UTC | #5
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 <ulf.hansson@stericsson.com> wrote:
> From: Ulf Hansson <ulf.hansson@linaro.org>
>
> This reverts commit 6887237cd7da904184dab2750504040c68f3a080.
>
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> ---
>  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
>
Mark Brown Oct. 3, 2012, 1:55 p.m. UTC | #6
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.
Ulf Hansson Oct. 3, 2012, 2:28 p.m. UTC | #7
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 <broonie@opensource.wolfsonmicro.com> wrote:
> 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.
Mark Brown Oct. 3, 2012, 2:29 p.m. UTC | #8
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.
diff mbox

Patch

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);