linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v17 0/9] Introduce the Counter character device interface
@ 2021-09-29  3:15 William Breathitt Gray
  2021-09-29  3:15 ` [PATCH v17 1/9] counter: Move counter enums to uapi header William Breathitt Gray
                   ` (9 more replies)
  0 siblings, 10 replies; 16+ messages in thread
From: William Breathitt Gray @ 2021-09-29  3:15 UTC (permalink / raw)
  To: jic23
  Cc: linux-stm32, kernel, a.fatoum, kamel.bouhara, gwendal,
	alexandre.belloni, david, linux-iio, linux-kernel,
	linux-arm-kernel, syednwaris, patrick.havelange, fabrice.gasnier,
	mcoquelin.stm32, alexandre.torgue, o.rempel, jarkko.nikula,
	William Breathitt Gray

Changes in v17:
 - A couple minor improvements to documentation from review suggestions
 - chrdev_lock redeclared as atomic_t; BITMAP was not necessary because
   chrdev_lock is a single flag
 - test_and_set_bit_lock(), clear_bit_unlock(), and clear_bit(),
   replaced respectively with atomic_add_unless(), atomic_dec(), and
   atomic_set()
 - counter_comp_read_is_equal() and counter_comp_read_is_set() macros
   implemented in order to properly test counter_comp structures' read
   callback states
 - counter_sysfs_add() call performed before counter_chrdev_add() call
   in counter_register() in order to match unwinding sequence
 - for-loop utilized in counter-example.c in order to simplify code
 - counter-example.c returns 1 on error instead of -errno; errno may be
   modified after a subsequent library call so we can't depend on it

For convenience, this patchset is also available on my personal git
repo: https://gitlab.com/vilhelmgray/iio/-/tree/counter_chrdev_v17

A Counter character device interface is introduced that allows Counter
events and associated data to be read() by userspace; the
events_configure() and watch_validate() driver callbacks are introduced
to support Counter events; and IRQ support is added to the
104-QUAD-8 driver, serving as an example of how to support the new
Counter events functionality.

William Breathitt Gray (9):
  counter: Move counter enums to uapi header
  counter: Add character device interface
  docs: counter: Document character device interface
  tools/counter: Create Counter tools
  counter: Implement signalZ_action_component_id sysfs attribute
  counter: Implement *_component_id sysfs attributes
  counter: Implement events_queue_size sysfs attribute
  counter: 104-quad-8: Replace mutex with spinlock
  counter: 104-quad-8: Add IRQ support for the ACCES 104-QUAD-8

 Documentation/ABI/testing/sysfs-bus-counter   |  29 +
 Documentation/driver-api/generic-counter.rst  | 177 ++++--
 .../userspace-api/ioctl/ioctl-number.rst      |   1 +
 MAINTAINERS                                   |   2 +
 drivers/counter/104-quad-8.c                  | 256 ++++++--
 drivers/counter/Kconfig                       |   6 +-
 drivers/counter/Makefile                      |   2 +-
 drivers/counter/counter-chrdev.c              | 578 ++++++++++++++++++
 drivers/counter/counter-chrdev.h              |  14 +
 drivers/counter/counter-core.c                |  56 +-
 drivers/counter/counter-sysfs.c               | 123 +++-
 include/linux/counter.h                       |  98 +--
 include/uapi/linux/counter.h                  | 154 +++++
 tools/Makefile                                |  13 +-
 tools/counter/Build                           |   1 +
 tools/counter/Makefile                        |  53 ++
 tools/counter/counter_example.c               |  92 +++
 17 files changed, 1509 insertions(+), 146 deletions(-)
 create mode 100644 drivers/counter/counter-chrdev.c
 create mode 100644 drivers/counter/counter-chrdev.h
 create mode 100644 include/uapi/linux/counter.h
 create mode 100644 tools/counter/Build
 create mode 100644 tools/counter/Makefile
 create mode 100644 tools/counter/counter_example.c


base-commit: a5ae0cfd53aaf031c2e9ba048281776fa67047c2
-- 
2.33.0


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2021-10-17 15:35 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-29  3:15 [PATCH v17 0/9] Introduce the Counter character device interface William Breathitt Gray
2021-09-29  3:15 ` [PATCH v17 1/9] counter: Move counter enums to uapi header William Breathitt Gray
2021-09-29  3:15 ` [PATCH v17 2/9] counter: Add character device interface William Breathitt Gray
2021-10-17 13:50   ` Greg KH
2021-10-17 14:02     ` Alexandre Belloni
2021-10-17 14:40       ` Greg KH
2021-10-17 15:35         ` Alexandre Belloni
2021-09-29  3:16 ` [PATCH v17 3/9] docs: counter: Document " William Breathitt Gray
2021-09-29  3:16 ` [PATCH v17 4/9] tools/counter: Create Counter tools William Breathitt Gray
2021-09-29  3:16 ` [PATCH v17 5/9] counter: Implement signalZ_action_component_id sysfs attribute William Breathitt Gray
2021-10-17 13:51   ` Greg KH
2021-09-29  3:16 ` [PATCH v17 6/9] counter: Implement *_component_id sysfs attributes William Breathitt Gray
2021-09-29  3:16 ` [PATCH v17 7/9] counter: Implement events_queue_size sysfs attribute William Breathitt Gray
2021-09-29  3:16 ` [PATCH v17 8/9] counter: 104-quad-8: Replace mutex with spinlock William Breathitt Gray
2021-09-29  3:16 ` [PATCH v17 9/9] counter: 104-quad-8: Add IRQ support for the ACCES 104-QUAD-8 William Breathitt Gray
2021-09-30 17:21 ` [PATCH v17 0/9] Introduce the Counter character device interface Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).