Re: [PATCH v3 0/2] AM335x-ICE: Add support for rotary switch

From: Daniel Mack
Date: Wed Aug 24 2016 - 07:02:05 EST


On 08/24/2016 11:15 AM, Vignesh R wrote:
> On Wednesday 24 August 2016 02:05 PM, Daniel Mack wrote:
>> On 08/24/2016 09:58 AM, Vignesh R wrote:
>>> This series adds support for rotary-switch on AM335x-ICE that is
>>> connected to TI PCA9536 I2C GPIO expander.
>>> First patch adds new generic driver to read status of group of GPIO
>>> lines and report the value as an input event. The second patch adds DT
>>> entries for the same.
>>>
>>> v2: https://lkml.org/lkml/2016/8/23/111
>>> v1: https://lkml.org/lkml/2016/8/12/7
>>
>> Is there a reason why the rotary-encoder driver cannot handle this?
>> Commit 7dde4e74744 ("Input: rotary-encoder - support more than 2 gpios
>> as input") added support for that mode AFAIU.
>>
>
> Rotary encoder driver handles incremental encoders only and does not
> support absolute encoders. The rotary switch on am335x-ice is different
> from the incremental encoders in the
> sense that GPIO line status directly reflect the position(number)
> pointed by the dial of the encoder. So, there is no need to count steps
> or know the direction of rotation as it does not matter.
>
> I did try to enhance rotary-encoder driver to support absolute
> encoder[1] but the comment there was to write new driver that simply
> translates gpio-encoded value into ABS* event. Indeed, the new driver
> looks more simple and can handle more such hardwares.

Okay. Yes, that makes sense. Thanks for the explanation!


Daniel