• Felipe Balbi's avatar
    gpiolib: introduce set_debounce method · c4b5be98
    Felipe Balbi authored
    A few architectures, like OMAP, allow you to set a debouncing time for the
    gpio before generating the IRQ.  Teach gpiolib about that.
    Mark said:
    : This would be generally useful for embedded systems, especially where
    : the interrupt concerned is a wake source.  It allows drivers to avoid
    : spurious interrupts from noisy sources so if the hardware supports it
    : the driver can avoid having to explicitly wait for the signal to become
    : stable and software has to cope with fewer events.  We've lived without
    : it for quite some time, though.
    David said:
    : I looked at adding debounce support to the generic GPIO calls (and thus
    : gpiolib) some time back, but decided against it.  I forget why at this
    : time (check list archives) but it wasn't because of lack of utility in
    : certain contexts.
    : One thing to watch out for is just how variable the hardware capabilities
    : are.  Atmel GPIOs have something like a fixed number of 32K clock cycles
    : for debounce, twl4030 had something odd, OMAPs were more like the Atmel
    : chips but with a different clock.  In some cases debouncing had to be
    : ganged, not per-GPIO.  And so forth.
    Signed-off-by: default avatarFelipe Balbi <felipe.balbi@nokia.com>
    Cc: Tony Lindgren <tony@atomide.com>
    Cc: David Brownell <david-b@pacbell.net>
    Reviewed-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
gpio.h 7.37 KB