Thread (10 messages) 10 messages, 4 authors, 2012-02-16

Re: [PATCH] Input: Add ioctl to block suspend while event queue is not empty.

flat view

From: Rafael J. Wysocki <hidden>
Date: 2012-02-16 22:27:15
Also in: lkml

On Thursday, February 16, 2012, Arve Hjønnevåg wrote:
2012/2/15 Rafael J. Wysocki [off-list ref]:
...
quoted
Still, I have one issue with adding those ioctls.  Namely, wouldn't it be
simpler to treat all events coming from wakeup devices as wakeup events?
User-space needs to block suspend between select/poll and read for
this to work, so an explicit call to enable this is useful.
quoted
With the new ioctls user space can "mark" a queue of events coming out of
a device that's not a wakeup one as a "wakeup source", which doesn't seem to
be correct.
OK, but I don't think this is a big problem.
quoted
Conversely, with those ioctls user space can effectively turn events coming
out of a wakeup device into non-wakeup ones, which doesn't seem to be correct
either.
I don't agree with this. There can be multiple readers on an input
device. Only the reader that is responsible for acting on the wakeup
event should call this ioctl.
Ah, OK.  So you envision the new ioctls as the way of saying "I'm the one
who's going to take care of those wakeup events"?  If that's the case, may
I suggest changing the names?
quoted
So, I think evdev client queue's wakeup source (or wakelock) should stay active
if there are any events in the queue and the underlying device is a wakeup one,
I don't want additional readers of the device to prevent suspend.
OK
quoted
i.e. device_may_wakeup() returns true for it.  Then, we won't need the new
ioctls at all and user space will still be able to control which events are to
be regarded as wakeup ones by changing the wakeup settings of the devices that
generate them.
I don't think this is currently hooked up for most of the devices we
have. If we do add a dynamic wakeup settings I would prefer to have an
ioctl to set which events on a device should be enabled for wakeup (or
just enabled) instead of switching the entire drive. That way we could
turn off unneeded rows and columns in a key matrix.
Can you actually select what keys may wake up the system from sleep
(I mean "real sleep", when the whole system is entirely off except for wakeup
devices)?

Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help