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
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