Thread (2 messages) flat view 2 messages, 2 authors, 2014-06-20

[PATCH] i2c: exynos5: Properly use the "noirq" variants of suspend/resume

From: Kevin Hilman <hidden>
Date: 2014-06-20 21:48:07
Also in: linux-i2c, linux-samsung-soc, lkml

Hi Doug,

Doug Anderson [off-list ref] writes:
On Thu, Jun 19, 2014 at 11:43 AM, Kevin Hilman [off-list ref] wrote:
quoted
Doug Anderson [off-list ref] writes:
quoted
The original code for the exynos i2c controller registered for the
"noirq" variants.  However during review feedback it was moved to
SIMPLE_DEV_PM_OPS without anyone noticing that it meant we were no
longer actually "noirq" (despite functions named
exynos5_i2c_suspend_noirq and exynos5_i2c_resume_noirq).

i2c controllers that might have wakeup sources on them seem to need to
resume at noirq time so that the individual drivers can actually read
the i2c bus to handle their wakeup.
I suspect usage of the noirq variants pre-dates the existence of the
late/early callbacks in the PM core, but based on the description above,
I suspect what you actually want is the late/early callbacks.
I think it actually really needs noirq.  ;)
Yes, it appears it does.   Objection withdrawn.

I just wanted to be sure because since the introduction of late/early,
the need for noirq should be pretty rare, but there certainly are needs.

<tangent> 
In this case though, the need for it has more to do with the
lack of a way for us to describe non parent-child device dependencies
than whether or not IRQs are enabled or not.
</tangent>

Kevin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help