From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758574AbZBZDvI (ORCPT ); Wed, 25 Feb 2009 22:51:08 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754450AbZBZDuz (ORCPT ); Wed, 25 Feb 2009 22:50:55 -0500 Received: from yx-out-2324.google.com ([74.125.44.29]:4027 "EHLO yx-out-2324.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753984AbZBZDuz convert rfc822-to-8bit (ORCPT ); Wed, 25 Feb 2009 22:50:55 -0500 MIME-Version: 1.0 In-Reply-To: References: <200902221837.49396.rjw@sisk.pl> <20090224230935.GA15165@elte.hu> <200902250029.16107.rjw@sisk.pl> <20090226030050.GA3361@elte.hu> Date: Wed, 25 Feb 2009 19:50:52 -0800 Message-ID: Subject: Re: [RFC][PATCH 2/2] PM: Rework handling of interrupts during suspend-resume From: =?ISO-8859-1?Q?Arve_Hj=F8nnev=E5g?= To: Linus Torvalds Cc: Ingo Molnar , "Rafael J. Wysocki" , "Eric W. Biederman" , LKML , Benjamin Herrenschmidt , Jeremy Fitzhardinge , pm list , Len Brown , Jesse Barnes , Thomas Gleixner Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Feb 25, 2009 at 7:37 PM, Linus Torvalds wrote: > > > On Wed, 25 Feb 2009, Arve Hjønnevåg wrote: >> >> That would not work without wakelocks support, since the interrupt >> could occur after suspend_late which is the last chance for the driver >> to abort sleep. (The patch also breaks my current wakelock >> implementation since I use a suspend_late hook to abort sleep, but >> this should be easy to fix) > > Since this must be some very deep arch-specific thing anyway, just make > the dang thing be a "sysdev". At that point, its "suspend" function gets > called way later (at which point CPU interrupts are off). Wakelocks can use a sysdev, but I don't think a keyboard driver should be a sysdev. > >> > Hm, if that solves the problem then it would be nice to have a >> > new IRQF_NO_SUSPEND flag for it, in addition to IRQF_TIMER: >> >> I think the right fix is for any interrupt that has IRQ_WAKEUP set to >> abort suspend if it is pending. I don't know if anyone relies on these >> interrupts being dropped now though. > > We could add something like that, but quite frankly, I'd hate to unless > there is some seriously common case. If it's just an oddball hacky special > case, it's easier to just say "hey, you have that crazy system device, you > handle it yourself". I don't think this is a oddball case. It is very common to connect keys or keypads to gpios. If these keys are wakeup keys, it is not OK to loose interrupts during the suspend phase. -- Arve Hjønnevåg