mbox series

[v8,0/2] add support for GPIO or IRQ based event counter

Message ID 20210301080401.22190-1-o.rempel@pengutronix.de (mailing list archive)
Headers show
Series add support for GPIO or IRQ based event counter | expand

Message

Oleksij Rempel March 1, 2021, 8:03 a.m. UTC
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

 .../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

Comments

Jonathan Cameron March 14, 2021, 4:55 p.m. UTC | #1
On Mon,  1 Mar 2021 09:03:59 +0100
Oleksij Rempel <o.rempel@pengutronix.de> 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
>