Currently the IPA code aborts an in-progress system suspend if an IPA interrupt arrives before the suspend completes. There is no need to do that though, because the IPA driver handles a forced suspend correctly, quiescing any hardware activity before finally turning off clocks and interconnects. This series drops the call to pm_wakeup_dev_event() if an IPA SUSPEND interrupt arrives during system suspend. Doing this makes the two remaining IPA power flags unnecessary, and allows some additional code to be cleaned up--and best of all, removed. The result is much simpler (and I'm really glad not to be using these flags any more). The first patch implements the main change. The second and third remove the flags that were used to determine whether to call pm_wakeup_dev_event(). The next two remove a function that becomes a trivial wrapper, and the last one just avoids writing a register unnecessarily. Note that the first two patches will have checkpatch warnings, because checkpatch disagrees with my compiler on what to do when a block contains only a semicolon. I went with what the compiler recommends. clang says: warning: suggest braces around empty body checkpatch: WARNING: braces {} are not necessary for single statement blocks -Alex Alex Elder (6): net: ipa: don't bother aborting system resume net: ipa: kill IPA_POWER_FLAG_SYSTEM net: ipa: kill the IPA_POWER_FLAG_RESUMED flag net: ipa: move ipa_interrupt_suspend_clear_all() up net: ipa: kill ipa_power_suspend_handler() net: ipa: don't bother zeroing an already zero register drivers/net/ipa/ipa_interrupt.c | 50 ++++++++++++++++----------------- drivers/net/ipa/ipa_interrupt.h | 8 ------ drivers/net/ipa/ipa_power.c | 33 ---------------------- drivers/net/ipa/ipa_power.h | 11 -------- 4 files changed, 25 insertions(+), 77 deletions(-) -- 2.40.1