Re: [PATCH] i2c/tegra: I2C driver uses the suspend_noirq/resume_noirq

From: Colin Cross
Date: Thu Aug 11 2011 - 16:51:17 EST


On Thu, Aug 11, 2011 at 12:35 PM, Stephen Warren <swarren@xxxxxxxxxx> wrote:
> Mark Brown wrote at Saturday, August 06, 2011 2:48 AM:
>> On Fri, Aug 05, 2011 at 09:33:31PM -0700, Colin Cross wrote:
> ...
>> > NAK - moving the suspend order around is not the correct way to solve
>> > this.  If wm8903 needs to talk to the i2c bus in its suspend handler,
>> > it needs to be child device on the i2c bus.  suspend_noirq is for
>>
>> WM8903 is an I2C device.  The problem is that it's suspended as part of
>> the ASoC suspend since the audio subsystem is composed of multiple
>> devices that all need to work together coherently.  I did start doing
>> some stuff to bodge around this like we do on probe but there are enough
>> system wide problems with this that it didn't seem worth the complexity
>> when the existing workarounds are so straightforward.
>
> Colin, given Mark's explanation, are you OK with the patch now?

It's still not the right way to handle this, are you going to mark
every I2C controller as suspend_noirq? What happens when you find an
I2C controller that needs its irq on to suspend? These are the kinds
of hacks we've been asked not to do in ARM, so I'd like to see a
response from the I2C maintainers.
--
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/