On Sun, Apr 25, 2010 at 8:29 AM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > On Sun, 25 Apr 2010, Rafael J. Wysocki wrote: > >> On Saturday 24 April 2010, Alan Stern wrote: >> > On Fri, 23 Apr 2010, Arve Hjønnevåg wrote: >> > >> > > On Fri, Apr 23, 2010 at 2:08 PM, Dmitry Torokhov >> > > <dmitry.torokhov@xxxxxxxxx> wrote: >> > > > On Friday 23 April 2010 01:56:25 pm Randy Dunlap wrote: >> > > >> On Thu, 22 Apr 2010 18:08:57 -0700 Arve Hjønnevåg wrote: >> > > >> > Add an ioctl, EVIOCSSUSPENDBLOCK, to enable a suspend_blocker that will >> > > >> > block suspend while the event queue is not empty. This allows userspace >> > > >> > code to process input events while the device appears to be asleep. > >> > Is there some reason why this feature needs to be enabled by an >> > ioctl? Why not make this suspend blocker permanently enabled? >> >> The ioctl is there so that user space can use suspend blockers, which is >> needed because only user space know that some activities are going to continue >> and therefore the system should not be suspended (like playing music "in the >> background"). > > No, you're thinking of a different ioctl: SUSPEND_BLOCKER_IOCTL_BLOCK. > This one (EVIOCSSUSPENDBLOCK) is present _only_ to enable one specific > suspend blocker, which is activated when the input event queue is > non-empty. I don't see any reason why it shouldn't be enabled all the > time. > Some user space processes keep input devices open that they don't currently read from. The current android kernel use a wakelock with a timeout limit the damage caused by this code, but not blocking suspend at all by default will handle this case better. Also, not all input devices are used for wakeup events, so there is no need to block suspend when their event queue is not empty. -- Arve Hjønnevåg _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm