Re: [RFC] i2c: core: Do not enable wakeup by default

Cezary Rojewski
2023-02-07T10:40:11Z

On 2023-02-07 11:33 AM, Andy Shevchenko wrote:
> On Tue, Feb 07, 2023 at 09:25:40AM +0200, Mika Westerberg wrote:
>> After commit b38f2d5d9615 ("i2c: acpi: Use ACPI wake capability bit to
>> set wake_irq") the I2C core has been setting I2C_CLIENT_WAKE for ACPI
>> devices if they announce to be wake capable in their device description.
>> However, on certain systems where audio codec has been connected through
>> I2C this causes system suspend to wake up immediately because power to
>> the codec is turned off which pulls the interrupt line "low" triggering
>> wake up.
>>
>> Possible reason why the interrupt is marked as wake capable is that some
>> codecs apparently support "Wake on Voice" or similar functionality.
>>
>> In any case, I don't think we should be enabling wakeup by default on
>> all I2C devices that are wake capable. According to device_init_wakeup()
>> documentation most devices should leave it disabled, with exceptions on
>> devices such as keyboards, power buttons etc. Userspace can enable
>> wakeup as needed by writing to device "power/wakeup" attribute.
>
> I agree on the reasoning.
>
> Should we have a Fixes tag?
>
> Otherwise
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>
> In any case it would be nice if the initial contributors may have a chance
> to test this and see how their setup is supposed to work.

Hello,

Thanks for the patch Mika and your input Andy. While neither I nor
Amadeusz contributed to the initial change, we will be testing this one
too - reverting the revert of the offending change that we had
internally and applying this patch instead. Tests should be concluded by
Thursday/Friday this week.

Regards,
Czarek