mbox series

[v6,0/2] add support for GPIO or IRQ based evemt counter

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

Message

Oleksij Rempel Feb. 16, 2021, 8:13 a.m. UTC
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 event-counter binding
  counter: add IRQ or GPIO based event counter

 .../bindings/counter/interrupt-counter.yaml   |  62 +++++
 MAINTAINERS                                   |   7 +
 drivers/counter/Kconfig                       |  10 +
 drivers/counter/Makefile                      |   1 +
 drivers/counter/interrupt-cnt.c               | 249 ++++++++++++++++++
 5 files changed, 329 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/counter/interrupt-counter.yaml
 create mode 100644 drivers/counter/interrupt-cnt.c

Comments

William Breathitt Gray Feb. 22, 2021, 1:48 a.m. UTC | #1
On Tue, Feb 16, 2021 at 09:13:54AM +0100, Oleksij Rempel wrote:
> changes v6:
> - rename it to interrupt-counter

Hi Oleksij,

Sorry to nitpick again, I think "irq-counter" as Jonathan suggested in
an earlier review would be a better name afterall. Would you be able to
rename this driver to use that name instead?

Sincerely,

William Breathitt Gray

> - 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 event-counter binding
>   counter: add IRQ or GPIO based event counter
> 
>  .../bindings/counter/interrupt-counter.yaml   |  62 +++++
>  MAINTAINERS                                   |   7 +
>  drivers/counter/Kconfig                       |  10 +
>  drivers/counter/Makefile                      |   1 +
>  drivers/counter/interrupt-cnt.c               | 249 ++++++++++++++++++
>  5 files changed, 329 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/counter/interrupt-counter.yaml
>  create mode 100644 drivers/counter/interrupt-cnt.c
> 
> -- 
> 2.29.2
>
Oleksij Rempel Feb. 23, 2021, 7:16 a.m. UTC | #2
Hi William,

On Mon, Feb 22, 2021 at 10:48:56AM +0900, William Breathitt Gray wrote:
> On Tue, Feb 16, 2021 at 09:13:54AM +0100, Oleksij Rempel wrote:
> > changes v6:
> > - rename it to interrupt-counter
> 
> Hi Oleksij,
> 
> Sorry to nitpick again, I think "irq-counter" as Jonathan suggested in
> an earlier review would be a better name afterall. Would you be able to
> rename this driver to use that name instead?

I would prefer not to rename it. IRQ (Interrupt Request) is a signal
outside of the system. Below some frequency rate, amount of counted
ISR (interrupt service routine) calls or events would be equal to the actual
IRQs. If frequency is too high, we will count ISR, but not IRQs. In
any case, interrupt-counter is more or leas neutral, without triggering
too many wrong assumptions.

Regards,
Oleksij
William Breathitt Gray Feb. 23, 2021, 8:14 a.m. UTC | #3
On Tue, Feb 23, 2021 at 08:16:30AM +0100, Oleksij Rempel wrote:
> Hi William,
> 
> On Mon, Feb 22, 2021 at 10:48:56AM +0900, William Breathitt Gray wrote:
> > On Tue, Feb 16, 2021 at 09:13:54AM +0100, Oleksij Rempel wrote:
> > > changes v6:
> > > - rename it to interrupt-counter
> > 
> > Hi Oleksij,
> > 
> > Sorry to nitpick again, I think "irq-counter" as Jonathan suggested in
> > an earlier review would be a better name afterall. Would you be able to
> > rename this driver to use that name instead?
> 
> I would prefer not to rename it. IRQ (Interrupt Request) is a signal
> outside of the system. Below some frequency rate, amount of counted
> ISR (interrupt service routine) calls or events would be equal to the actual
> IRQs. If frequency is too high, we will count ISR, but not IRQs. In
> any case, interrupt-counter is more or leas neutral, without triggering
> too many wrong assumptions.
> 
> Regards,
> Oleksij
> -- 
> Pengutronix e.K.                           |                             |
> Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
> 31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

I suppose "interrupt-counter" should be fine in this context then, so
perhaps a rename isn't really necessary afterall.

William Breathitt Gray