Hi Dmitry,
This patchset is another attempt at supporting rotary encoders
with stable state on each output states. Previous efforts to
support this has been done by Sascha Hauer [1] and myself [2].
After some discussion we agreed to remove the current ad-hoc
bindings for each of the rotary-encoders types, and instead
introduce "one binding to rule them all".
This patchset introduces a new 'steps-per-period' property.
Such a property can be used to model the three types
of rotary-encoders.
>From the GPIO output diagram, we can see where these types
come from, and how the steps-per-period describes each
of them.
_____ _____ _____
| | | | | |
Channel A ____| |_____| |_____| |____
: : : : : : : : : : : :
__ _____ _____ _____
| | | | | | |
Channel B |_____| |_____| |_____| |__
: : : : : : : : : : : :
Event a b c d a b c d a b c d
|<-------->|
one step, steps-per-period = 1
|<-->|
one step, steps-per-period = 2
|<>|
one step, steps-per-period = 4
The 'half-period' property is marked as deprecated and a
warning message is issued if it's used, although the driver
retains its old behavior.
I'm also submitting Ben Gamari's cleanup, with the commit log
slightly ammended.
Feedback welcome!
[1] http://www.spinics.net/lists/linux-input/msg28701.html
[2] http://www.spinics.net/lists/linux-input/msg27644.html
Ben Gamari (1):
input: rotary-encoder: Use of_property_read_bool
Ezequiel Garcia (2):
input: rotary-encoder: Introduce new 'steps-per-period' property
input: rotary-encoder: Support 'steps-per-period' DT property
.../devicetree/bindings/input/rotary-encoder.txt | 9 +++
Documentation/input/rotary-encoder.txt | 8 +-
drivers/input/misc/rotary_encoder.c | 94 +++++++++++++++++++---
include/linux/rotary_encoder.h | 2 +-
4 files changed, 101 insertions(+), 12 deletions(-)
--
2.5.2
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html