Re: [PATCH] input: rotary encoder: implement quarter period mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 19, 2014 at 12:26:59AM -0300, Ezequiel García wrote:
> On 08 May 02:01 PM, Ezequiel García wrote:
> > On 07 May 11:59 AM, Dmitry Torokhov wrote:
> > > On Wed, May 07, 2014 at 03:45:43PM +0100, Mark Rutland wrote:
> > > > On Wed, Dec 18, 2013 at 02:43:18PM +0000, Sascha Hauer wrote:
> > > > > Some rotary encoders have a stable state in all output state
> > > > > combinations. Add support for this type of encoder.
> > > > > 
> > > > > Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
> > > > > Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> > > > > Cc: Daniel Mack <daniel@xxxxxxxxxx>
> > > > > Cc: linux-input@xxxxxxxxxxxxxxx
> > > > > Cc: devicetree@xxxxxxxxxxxxxxx
> > > > > ---
> > > > >  .../devicetree/bindings/input/rotary-encoder.txt   |  1 +
> > > > >  Documentation/input/rotary-encoder.txt             |  9 +++++--
> > > > >  drivers/input/misc/rotary_encoder.c                | 30 ++++++++++++++++++++--
> > > > >  include/linux/rotary_encoder.h                     |  1 +
> > > > >  4 files changed, 37 insertions(+), 4 deletions(-)
> > > > > 
> > > > > diff --git a/Documentation/devicetree/bindings/input/rotary-encoder.txt b/Documentation/devicetree/bindings/input/rotary-encoder.txt
> > > > > index 3315495..cbdb29b 100644
> > > > > --- a/Documentation/devicetree/bindings/input/rotary-encoder.txt
> > > > > +++ b/Documentation/devicetree/bindings/input/rotary-encoder.txt
> > > > > @@ -15,6 +15,7 @@ Optional properties:
> > > > >  - rotary-encoder,rollover: Automatic rollove when the rotary value becomes
> > > > >    greater than the specified steps or smaller than 0. For absolute axis only.
> > > > >  - rotary-encoder,half-period: Makes the driver work on half-period mode.
> > > > > +- rotary-encoder,quarter-period: Makes the driver work on quarter-period mode.
> > > > 
> > > > The new property looks as sane to me as the half-period property, so for
> > > > the binding addition:
> > > 
> > > Actually, maybe we should deprecate rotary-encoder,half-period and
> > > instead add rotary-encoder,type property?
> > > 
> > 
> > Mark: what do you say?
> > 
> > I can fix a few patches if everyone agrees...
> 
> After some thought, it seemed to me we can define a more specific property
> to describe this, instead of a generic "type".
> 
> The difference among these three "modes" is the number of turns needed to make
> a step.
> 
> In the current driver, the default is 4 turns per step, where for the half-period
> mode it's 2 turns per step. Now, we need to support 1 turn per step and hence
> Sascha proposes a new quarter-period mode.
> 
> Given we only need to describe the number of turns per step, I'd say it's
> more accurate and less confusing to deprecate the bool half-period property
> and instead introduce a "rotary-encoder,turns-per-step" integer property.
> 
> How does this sound?

We'd have to "filter out" invalid step settings, but that sounds fine by
me.

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux