• Kent Gibson's avatar
    gpiolib: cdev: support setting debounce · 65cff704
    Kent Gibson authored
    Add support for setting debounce on a line via the GPIO uAPI.
    Where debounce is not supported by hardware, a software debounce is
    provided.
    
    The implementation of the software debouncer waits for the line to be
    stable for the debounce period before determining if a level change,
    and a corresponding edge event, has occurred.  This provides maximum
    protection against glitches, but also introduces a debounce_period
    latency to edge events.
    
    The software debouncer is integrated with the edge detection as it
    utilises the line interrupt, and integration is simpler than getting
    the two to interwork.  Where software debounce AND edge detection is
    required, the debouncer provides both.
    Signed-off-by: default avatarKent Gibson <warthog618@gmail.com>
    Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
    65cff704
gpiolib.c 120 KB