changes v4: - use IRQ_NOAUTOEN to not enable IRQ by default - rename gpio_ from name pattern and make this driver work any IRQ source. changes v3: - convert counter to atomic_t changes v2: - add commas - avoid possible unhandled interrupts in the enable path - do not use of_ specific gpio functions Add support for GPIO based pulse counter. For now it can only count pulses. With counter char device support, we will be able to attach timestamps and measure actual pulse frequency. Never the less, it is better to mainline this driver now (before chardev patches go mainline), to provide developers additional use case for the counter framework with chardev support. Oleksij Rempel (2): dt-bindings: counter: add pulse-counter binding counter: add IRQ or GPIO based pulse counter .../bindings/counter/pulse-counter.yaml | 52 ++++ drivers/counter/Kconfig | 10 + drivers/counter/Makefile | 1 + drivers/counter/pulse-cnt.c | 235 ++++++++++++++++++ 4 files changed, 298 insertions(+) create mode 100644 Documentation/devicetree/bindings/counter/pulse-counter.yaml create mode 100644 drivers/counter/pulse-cnt.c -- 2.30.0