Linux kernel module for dealing with rotating incremental encoders