[PATCH 0/3] input: Simplifying the rotary encoder devicetree binding
From: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Date: 2015-10-09 13:46:53
Also in:
linux-input
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