From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Torokhov Subject: Re: [linux-pm] [PATCH v2 1/2] Input: gpio-keys - allow platform to specify exact irq flags Date: Wed, 9 Dec 2009 13:48:42 -0800 Message-ID: <20091209214841.GE10138@core.coreip.homeip.net> References: <87einfltp3.fsf@tac.ki.iif.hu> <20091206084704.GC2766@ucw.cz> <20091208042251.GB11147@core.coreip.homeip.net> <1260277410.19669.84.camel@localhost> <20091208174218.GB14271@core.coreip.homeip.net> <1260343860.19669.1189.camel@localhost> <20091209180345.GE4456@core.coreip.homeip.net> <20091209210816.GD3480@elf.ucw.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mail-pz0-f171.google.com ([209.85.222.171]:63079 "EHLO mail-pz0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756818AbZLIVsl (ORCPT ); Wed, 9 Dec 2009 16:48:41 -0500 Received: by pzk1 with SMTP id 1so177305pzk.33 for ; Wed, 09 Dec 2009 13:48:48 -0800 (PST) Content-Disposition: inline In-Reply-To: <20091209210816.GD3480@elf.ucw.cz> Sender: linux-input-owner@vger.kernel.org List-Id: linux-input@vger.kernel.org To: Pavel Machek Cc: Artem Bityutskiy , Ferenc Wagner , Alan Stern , linux-pm@lists.linux-foundation.org, Mika Westerberg , "linux-input@vger.kernel.org" On Wed, Dec 09, 2009 at 10:08:16PM +0100, Pavel Machek wrote: > > > > I refuse it because it will be supported by exactly 1 driver in the > > > > kernel - gpio-keys. It is the only driver that allows shut half of the > > > > "device" (because in reality it is a group of disjoint devices). It is > > > > the only case when "muting" a button means that IRQ is shut off abnd > > > > thus CPU can continue to sleep if that button is pressed. For all other > > > > devices that have 1 inettrupt per device, you still have to wake up, > > > > because you don't know whether the button that generated event is > > > > "important" or not. > > > > > > Fair enough. > > > > > > > Now, there is a issue of waking up userspace task, additional scheduling > > > > and keeping CPU running longer than necessary for "uninteresting" keys. > > > > This can be solved by implementing a subscription model which allows > > > > filtering uninteresing events on a per-client basis at evdev level. > > > > > > Right. And for gpio_keys, this would be dine on the driver level. > > > > But the semantics are different - if done on driver level you'd be > > affecting _all_ consumers of the device; what I want to be done only > > affects owner of the file descriptor. > > Well, if _all_ consumers decide to ignore some key, we should be able > to ignore it at driver level. The intesection of drivers allowing shut off individual buttons with all consumers agreeing on not using a key would be pretty miniscule. > > And actually it may make some sense -- I do not think disabling irq > during runtime is worth the effort, but disabling wakeup source and > getting rid of unneccessary wakeup when system is suspended is > probably worth it. > I don't believe Mika's patches touched wakeup in any way. So it has been strictly about wakig up processor to service that interrupt so far. -- Dmitry