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

Russell King - ARM Linux linux at arm.linux.org.uk
Sun Sep 30 06:14:18 EDT 2012


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 at stericsson.com> wrote:
> 
> > From: Ulf Hansson <ulf.hansson at linaro.org>
> >
> > This reverts commit 6887237cd7da904184dab2750504040c68f3a080.
> >
> > Signed-off-by: Ulf Hansson <ulf.hansson at 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.



More information about the linux-arm-kernel mailing list