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

From: Kevin Hilman
Date: Fri Jun 20 2014 - 17:48:09 EST


Hi Doug,

Doug Anderson <dianders@xxxxxxxxxxxx> writes:

> On Thu, Jun 19, 2014 at 11:43 AM, Kevin Hilman <khilman@xxxxxxxxxx> wrote:
>> Doug Anderson <dianders@xxxxxxxxxxxx> writes:
>>
>>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/