2014-10-14 08:46:04

by Johan Hovold

[permalink] [raw]
Subject: Re: rotary encoder linux driver

On Sun, Oct 12, 2014 at 06:29:03PM -0700, tecfacet wrote:
> Hello.
>
> I am interested in the rotary encoder kernel driver. I am very new to
> this linux kernel driver thing.
>
> How do I pass the gpio and interrupt stuff to the kernel module.. I
> think it is thru the rotary_encoder.h file.. am I correct?

That should be done through the device tree these days. The binding is
documented in

Documentation/devicetree/bindings/input/rotary-encoder.txt

in the kernel source tree.

> How does the information about encoder position etc get back to my
> user space program? How is debounce handled?
> I am a little confused. Is there an example of a complete working
> implementation? I need to figure this out for school.

Have a look at the evtest program for an example:

http://cgit.freedesktop.org/~whot/evtest

Good luck,
Johan


2014-10-14 22:44:40

by Ben Gamari

[permalink] [raw]
Subject: Re: rotary encoder linux driver

Johan Hovold <[email protected]> writes:

> On Sun, Oct 12, 2014 at 06:29:03PM -0700, tecfacet wrote:
>> Hello.
>>
>> I am interested in the rotary encoder kernel driver. I am very new to
>> this linux kernel driver thing.
>>
>> How do I pass the gpio and interrupt stuff to the kernel module.. I
>> think it is thru the rotary_encoder.h file.. am I correct?
>
> That should be done through the device tree these days. The binding is
> documented in
>
> Documentation/devicetree/bindings/input/rotary-encoder.txt
>
> in the kernel source tree.
>
You may also be interested in the device tree for a BeagleBone cape that
I recently brought up which includes an encoder,

https://github.com/bgamari/dtb-rebuilder/blob/heaterbone-3.14/src/arm/heater-bone.dtsi#L248

Cheers,

- Ben


Attachments:
(No filename) (472.00 B)