From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754115AbbCFAty (ORCPT ); Thu, 5 Mar 2015 19:49:54 -0500 Received: from pmta1.delivery2.ore.mailhop.org ([54.149.210.130]:52633 "EHLO pmta1.delivery2.ore.mailhop.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753669AbbCFAtw (ORCPT ); Thu, 5 Mar 2015 19:49:52 -0500 X-Greylist: delayed 601 seconds by postgrey-1.27 at vger.kernel.org; Thu, 05 Mar 2015 19:49:52 EST X-Mail-Handler: DuoCircle Outbound SMTP X-Originating-IP: 104.193.169.186 X-Report-Abuse-To: abuse@duocircle.com (see https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information for abuse reporting information) X-MHO-User: U2FsdGVkX1/jbj9G05S6T5j5IpIC3Tyw From: Tony Lindgren To: "Rafael J. Wysocki" Cc: Andreas Fenkart , Greg Kroah-Hartman , Felipe Balbi , Huiquan Zhong , Kevin Hilman , NeilBrown , Mika Westerberg , Nishanth Menon , Peter Hurley , Sebastian Andrzej Siewior , Ulf Hansson , Thomas Gleixner , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org, linux-omap@vger.kernel.org Subject: [PATCH 0/4] Minimal generic wakeirq helpers Date: Thu, 5 Mar 2015 16:34:05 -0800 Message-Id: <1425602049-2674-1-git-send-email-tony@atomide.com> X-Mailer: git-send-email 2.1.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi all, Here's an attempt to have Linux generic wakeirq helpers. This allows removing most of the related code from drivers. Currently the drivers all do it in a slightly different way. And may have issues with interrupt re-entrancy and getting the suspend/resume vs runtime_pm wake handling right. This is for wakerirqs that are available for some devices in addition to the regular device interrupts. The seprate always-on wake-up interrupt controller is needed to allow devices and the SoC to enter deeper idle states and still be able to wake-up to events. Some of this was discussed in the kernel/irq context a while back [1]. But it seems that this can be done in drivers/base/power. If somebody has hardware that needs to replay lost device interrupts based on the wake-up interrupts, then additional kernel/irq changes will be needed. This set fixes up three drivers to use the generic wakeirq. Note that eventually the wakeirq handling for these drivers might end up in a bus specific code and could be hidden away from the drivers. Regards, Tony [1] https://lkml.org/lkml/2014/11/13/458 Tony Lindgren (4): PM / Wakeirq: Add minimal device wakeirq helper functions serial: 8250_omap: Move wake-up interrupt to generic wakeirq serial: omap: Switch wake-up interrupt to generic wakeirq mmc: omap_hsmmc: Change wake-up interrupt to use generic wakeirq arch/arm/mach-omap2/Kconfig | 1 + drivers/base/power/Makefile | 1 + drivers/base/power/wakeirq.c | 201 ++++++++++++++++++++++++++++++++++++ drivers/mmc/host/omap_hsmmc.c | 55 +++------- drivers/tty/serial/8250/8250_omap.c | 67 +++--------- drivers/tty/serial/omap-serial.c | 38 +++---- include/linux/pm_wakeirq.h | 69 +++++++++++++ kernel/power/Kconfig | 4 + 8 files changed, 318 insertions(+), 118 deletions(-) create mode 100644 drivers/base/power/wakeirq.c create mode 100644 include/linux/pm_wakeirq.h -- 2.1.4