From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755572AbbB0WKK (ORCPT ); Fri, 27 Feb 2015 17:10:10 -0500 Received: from v094114.home.net.pl ([79.96.170.134]:53239 "HELO v094114.home.net.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1753610AbbB0WKI (ORCPT ); Fri, 27 Feb 2015 17:10:08 -0500 From: "Rafael J. Wysocki" To: Boris Brezillon Cc: Thomas Gleixner , Jason Cooper , Peter Zijlstra , Mark Rutland , linux-kernel@vger.kernel.org, Nicolas Ferre , Jean-Christophe Plagniol-Villard , Alexandre Belloni , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 0/6] ARM: at91: fix irq_pm_install_action WARNING Date: Fri, 27 Feb 2015 23:33:35 +0100 Message-ID: <50911513.ad0Lf8479H@vostro.rjw.lan> User-Agent: KMail/4.11.5 (Linux/3.19.0+; KDE/4.11.5; x86_64; ; ) In-Reply-To: <1425049798-5891-1-git-send-email-boris.brezillon@free-electrons.com> References: <1425049798-5891-1-git-send-email-boris.brezillon@free-electrons.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="utf-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Friday, February 27, 2015 04:09:52 PM Boris Brezillon wrote: > 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]. Series looks good to me (although admittedly I'm not familiar with the drivers in question). Do you want me to apply it on top of [2]? > [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 > > 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(-) > > -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center.