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 devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html