Thread (7 messages) 7 messages, 3 authors, 2015-10-15
STALE3880d

[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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help