On 5/30/25 12:51 PM, Andy Shevchenko wrote:
On Thu, May 29, 2025 at 01:49:16PM -0500, David Lechner wrote:
On 5/29/25 1:16 PM, Andy Shevchenko wrote:
On Thu, May 29, 2025 at 7:02 PM David Lechner dlechner@baylibre.com wrote:
On 5/24/25 5:34 AM, Sean Nyekjaer wrote:
...
fxls8962af_suspend() calls enable_irq_wake(data->irq); before disabling the interrupt by calling fxls8962af_buffer_predisable(indio_dev);
It seems like the order should be reversed.
AFAIU the wake capability of IRQ line is orthogonal to the interrupt controller enabling (unmasking) / disabling (masking) the line itself. Or did you mean something else?
I don't know enough about how suspend/wake stuff works to say for sure.
I just saw the comment:
/* * Disable buffer, as the buffer is so small the device will wake * almost immediately. */
so I assumed someone had observed something like this happening already. If an interrupt occurs between enable_irq_wake() and actually going into a low power mode, what effect does it have? I ask because I don't know.
To be a "wake source" means to be capable of signaling to the system that wake is needed. If an event comes after enabling an IRQ line to be a wake source, that should wakeup the system (independently if that IRQ line is disabled or not on the IRQ controller side).
OK, more clear now. So I should have been more specific with my previous comment. When I said, "before disabling the interrupt", I didn't mean calling disable_irq(). I meant disabling the actual output pin on the accelerometer chip.