linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/6] ARM: at91: fix irq_pm_install_action WARNING
@ 2015-03-02  9:18 Boris Brezillon
  2015-03-02  9:18 ` [PATCH v2 1/6] PM / wakeup: export pm_system_wakeup symbol Boris Brezillon
                   ` (4 more replies)
  0 siblings, 5 replies; 48+ messages in thread
From: Boris Brezillon @ 2015-03-02  9:18 UTC (permalink / raw)
  To: Thomas Gleixner, Jason Cooper, Peter Zijlstra, Mark Rutland,
	Rafael J. Wysocki
  Cc: Len Brown, Pavel Machek, linux-pm-u79uwXL29TY76Z2rM5mHXA,
	Wim Van Sebroeck, linux-watchdog-u79uwXL29TY76Z2rM5mHXA,
	Alessandro Zummo, rtc-linux-/JYPxA39Uh5TLH3MbocFFw,
	Greg Kroah-Hartman, Jiri Slaby,
	linux-serial-u79uwXL29TY76Z2rM5mHXA, Mike Turquette,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Nicolas Ferre,
	Jean-Christophe Plagniol-Villard, Alexandre Belloni,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	Boris Brezillon

My apologies to those of you who already received this series, but I
didn't increment the patch version and forgot some subsystem maintainers
and MLs.

Commit cab303be91dc47942bc25de33dc1140123540800 [1] introduced a WARN_ON
test which triggers a WARNING backtrace on at91 platforms.
While this WARN_ON is absolutely necessary to warn users that they should
not mix request with and without IRQF_NO_SUSPEND flags on shared IRQs,
there is no easy way to solve this issue on at91 platforms.

The main reason is that the init timer is often using a shared irq line
and thus request this irq with IRQF_NO_SUSPEND flag set, while other
peripherals request the same irq line without this flag.

This problem has recently been addressed by this patch [2] which adds
a new IRQF_COND_SUSPEND flag, that authorize mixing IRQF_NO_SUSPEND and
!IRQF_NO_SUSPEND as long as irq handlers setting IRQF_COND_SUSPEND
can safely be called in suspended state.

Doing this also implies taking care of system wakeup in devices handlers
if they tag the IRQ line as a wakeup source.
The first patch of this series exports the pm_system_wakeup symbol so
that drivers can call pm_system_wakeup from their interrupt handler.

This series then patches all at91 drivers that can have devices sharing
their IRQ line with a timer.

This series depends on [2].

Best Regards,

Boris

[1]https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/kernel/irq/pm.c?id=cab303be91dc47942bc25de33dc1140123540800
[2]https://lkml.org/lkml/2015/2/26/675

Changes since v1:
 - replaced the IRQF_SUSPEND_NOACTION flag by IRQF_COND_SUSPEND
 - properly addressed wakeup handling in drivers

Boris Brezillon (6):
  PM / wakeup: export pm_system_wakeup symbol
  rtc: at91sam9: rework wakeup and interrupt handling
  rtc: at91rm9200: rework wakeup and interrupt handling
  clk: at91: implement suspend/resume for the PMC irqchip
  watchdog: at91sam9: request the irq with IRQF_NO_SUSPEND
  tty: serial: atmel: rework interrupt and wakeup handling

 drivers/base/power/wakeup.c       |  1 +
 drivers/clk/at91/pmc.c            | 20 ++++++++++-
 drivers/clk/at91/pmc.h            |  1 +
 drivers/rtc/rtc-at91rm9200.c      | 62 +++++++++++++++++++++++++--------
 drivers/rtc/rtc-at91sam9.c        | 73 ++++++++++++++++++++++++++++++++-------
 drivers/tty/serial/atmel_serial.c | 49 +++++++++++++++++++++++---
 drivers/watchdog/at91sam9_wdt.c   |  3 +-
 7 files changed, 177 insertions(+), 32 deletions(-)

-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2015-03-11 11:17 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-02  9:18 [PATCH v2 0/6] ARM: at91: fix irq_pm_install_action WARNING Boris Brezillon
2015-03-02  9:18 ` [PATCH v2 1/6] PM / wakeup: export pm_system_wakeup symbol Boris Brezillon
2015-03-02  9:18 ` [PATCH v2 3/6] rtc: at91rm9200: rework wakeup and interrupt handling Boris Brezillon
2015-03-02  9:18 ` [PATCH v2 4/6] clk: at91: implement suspend/resume for the PMC irqchip Boris Brezillon
     [not found]   ` <1425287898-15093-5-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2015-03-09 22:34     ` Mike Turquette
2015-03-02  9:18 ` [PATCH v2 6/6] tty: serial: atmel: rework interrupt and wakeup handling Boris Brezillon
     [not found] ` <1425287898-15093-1-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2015-03-02  9:18   ` [PATCH v2 2/6] rtc: at91sam9: rework wakeup and interrupt handling Boris Brezillon
     [not found]     ` <1425287898-15093-3-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2015-03-04 18:23       ` Mark Rutland
2015-03-02  9:18   ` [PATCH v2 5/6] watchdog: at91sam9: request the irq with IRQF_NO_SUSPEND Boris Brezillon
2015-03-02 14:10     ` Guenter Roeck
     [not found]     ` <1425287898-15093-6-git-send-email-boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2015-03-04 18:38       ` Mark Rutland
2015-03-04 21:41         ` Rafael J. Wysocki
     [not found]           ` <14143668.0aRkeVrc3Q-sKB8Sp2ER+y1GS7QM15AGw@public.gmane.org>
2015-03-05 10:57             ` Mark Rutland
2015-03-05 15:10               ` Rafael J. Wysocki
     [not found]                 ` <CAJZ5v0h8vn26BeWPVhC4e_KNhBu15-mshnbq0K=OQ1M36vPQEQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-05 16:32                   ` Mark Rutland
2015-03-06  0:29                     ` Rafael J. Wysocki
2015-03-06 11:06                       ` Mark Rutland
2015-03-06 12:39                         ` Rafael J. Wysocki
     [not found]                           ` <CAJZ5v0jA-hRUnP_+mOdFw7vN7CGZ4o0FjUVu81rq7foi92f63g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-06 13:10                             ` Mark Rutland
2015-03-07  9:12                         ` Peter Zijlstra
2015-03-07  9:06                 ` Peter Zijlstra
2015-03-05  8:53         ` Boris Brezillon
2015-03-05 10:53           ` Mark Rutland
2015-03-05 11:17             ` Boris Brezillon
2015-03-05 11:31               ` Boris Brezillon
2015-03-05 11:53               ` Mark Rutland
2015-03-07  9:18                 ` Peter Zijlstra
2015-03-07 10:20                   ` Sylvain Rochet
2015-03-07 10:39                     ` Pavel Machek
2015-03-07 10:59                       ` Sylvain Rochet
2015-03-07 11:06                       ` Alexandre Belloni
     [not found]                         ` <20150307110645.GW3989-m++hUPXGwpdeoWH0uzbU5w@public.gmane.org>
2015-03-07 11:29                           ` Pavel Machek
2015-03-07 11:46                             ` Sylvain Rochet
2015-03-08  1:12                             ` Rafael J. Wysocki
2015-03-09  7:55                               ` Alexandre Belloni
2015-03-09 14:30                                 ` Rafael J. Wysocki
     [not found]                                   ` <1592385.fqRVVyPSPE-sKB8Sp2ER+y1GS7QM15AGw@public.gmane.org>
2015-03-10 21:33                                     ` Alexandre Belloni
2015-03-10 22:31                                       ` Rafael J. Wysocki
     [not found]                                         ` <1901056.Mqyykpv3e9-sKB8Sp2ER+y1GS7QM15AGw@public.gmane.org>
2015-03-10 22:33                                           ` Alexandre Belloni
     [not found]                                             ` <20150310223305.GN9188-m++hUPXGwpdeoWH0uzbU5w@public.gmane.org>
2015-03-11  1:03                                               ` Rafael J. Wysocki
2015-03-11  7:33                                                 ` Boris Brezillon
2015-03-08  1:11                         ` Rafael J. Wysocki
2015-03-11  8:38                           ` Boris Brezillon
2015-03-11 11:17                             ` Nicolas Ferre
2015-03-03  8:56   ` [PATCH v2 0/6] ARM: at91: fix irq_pm_install_action WARNING Alexandre Belloni
2015-03-03 15:35   ` Nicolas Ferre
2015-03-04  1:43     ` Rafael J. Wysocki
2015-03-04 18:43   ` Mark Rutland

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).