On Mon, 1 Mar 2021 09:03:59 +0100 Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> wrote: > changes v8: > - use use enum index instead of enum value for the counter function > - register signal unconditionally and return error is signal revel is > read > > changes v7: > - make most of structs dynamically allocatable to assign IRQ based > description to the signal > - assign dev name instead for driver name to the IRQ > > changes v6: > - rename it to interrupt-counter > - driver fixes > - device tree fixes > > changes v5: > - rename it to event counter, since it support different event sources > - make it work with gpio-only or irq-only configuration > - update yaml binding > > 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 interrupt-counter binding > counter: add IRQ or GPIO based counter Series applied to the togreg branch of iio.git and pushed out as testing. thanks, Jonathan > > .../bindings/counter/interrupt-counter.yaml | 62 +++++ > MAINTAINERS | 7 + > drivers/counter/Kconfig | 10 + > drivers/counter/Makefile | 1 + > drivers/counter/interrupt-cnt.c | 244 ++++++++++++++++++ > 5 files changed, 324 insertions(+) > create mode 100644 Documentation/devicetree/bindings/counter/interrupt-counter.yaml > create mode 100644 drivers/counter/interrupt-cnt.c >