From: William Breathitt Gray <vilhelm.gray@gmail.com>
To: Jonathan Cameron <jic23@kernel.org>
Cc: linux-stm32@st-md-mailman.stormreply.com, kernel@pengutronix.de,
a.fatoum@pengutronix.de, kamel.bouhara@bootlin.com,
gwendal@chromium.org, alexandre.belloni@bootlin.com,
david@lechnology.com, linux-iio@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, syednwaris@gmail.com,
patrick.havelange@essensium.com, fabrice.gasnier@st.com,
mcoquelin.stm32@gmail.com, alexandre.torgue@st.com,
o.rempel@pengutronix.de, jarkko.nikula@linux.intel.com
Subject: Re: [PATCH v12 00/17] Introduce the Counter character device interface
Date: Mon, 12 Jul 2021 19:48:17 +0900 [thread overview]
Message-ID: <YOwd8aL+K+U+9GXz@shinobu> (raw)
In-Reply-To: <20210711144828.795ca342@jic23-huawei>
[-- Attachment #1.1: Type: text/plain, Size: 6328 bytes --]
On Sun, Jul 11, 2021 at 02:48:28PM +0100, Jonathan Cameron wrote:
> On Mon, 5 Jul 2021 17:18:48 +0900
> William Breathitt Gray <vilhelm.gray@gmail.com> wrote:
>
> > Changes in v12:
> > - Move unlock to after register set in quad8_count_ceiling_write()
> > - Add locking protection to counter_set_event_node()
> > - Fix sparse warning by using {} instead of {0}
> > - Clean up and organize comments for clarity
> > - Reduce boilerplate by utilizing devm_add_action_or_reset()
> > - Use switch statements in ti_eqep_action_read() to make possible cases
> > more obvious
> >
> > I pulled out a lot of bits and pieces to their own patches; hopefully
> > that makes reviewing this patchset much simpler than before. This
> > patchset is also available on my personal git repo for convenience:
> > https://gitlab.com/vilhelmgray/iio/-/tree/counter_chrdev_v12
> >
> > The patches preceding "counter: Internalize sysfs interface code" are
> > primarily cleanup and fixes that can be picked up and applied now to the
> > IIO tree if so desired. The "counter: Internalize sysfs interface code"
> > patch as well may be considered for pickup because it is relatively safe
> > and makes no changes to the userspace interface.
> >
> > To summarize the main points of this patchset: there are no changes to
> > the existing Counter sysfs userspace interface; 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.
> >
> > Something that should still be discussed: should the struct
> > counter_event "status" member be 8 bits or 32 bits wide? This member
> > will provide the return status (system error number) of an event
> > operation.
>
> Hi william,
>
> I've looked through the lot and where I haven't commented, I had nothing
> much to add to David's comments.
>
> I'm not planning to go through the whole thing again unless major changes
> occur. Fingers crossed for v13.
>
> If it looks like there are still some unresolved issues after that, perhaps
> applying up to patch 8 or so makes sense to reduced the volume of code you
> are carrying. Let me know if you'd like me to do that.
>
> Thanks,
>
> Jonathan
Yes, much of the code has remained stable for some months now so I think
we're pretty close. If we do need a v14, then applying up to patch 8
would help me a lot (most of the merge conflicts I encounter when I
rebase are due to the large subsystem refactor in patch 06).
William Breathitt Gray
> >
> > William Breathitt Gray (17):
> > counter: 104-quad-8: Return error when invalid mode during
> > ceiling_write
> > counter: Return error code on invalid modes
> > counter: Standardize to ERANGE for limit exceeded errors
> > counter: Rename counter_signal_value to counter_signal_level
> > counter: Rename counter_count_function to counter_function
> > counter: Internalize sysfs interface code
> > counter: Update counter.h comments to reflect sysfs internalization
> > docs: counter: Update to reflect sysfs internalization
> > 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 | 38 +-
> > Documentation/driver-api/generic-counter.rst | 366 +++-
> > .../userspace-api/ioctl/ioctl-number.rst | 1 +
> > MAINTAINERS | 3 +-
> > drivers/counter/104-quad-8.c | 728 ++++----
> > drivers/counter/Kconfig | 6 +-
> > drivers/counter/Makefile | 1 +
> > drivers/counter/counter-chrdev.c | 498 ++++++
> > drivers/counter/counter-chrdev.h | 14 +
> > drivers/counter/counter-core.c | 182 ++
> > drivers/counter/counter-sysfs.c | 953 +++++++++++
> > drivers/counter/counter-sysfs.h | 13 +
> > drivers/counter/counter.c | 1496 -----------------
> > drivers/counter/ftm-quaddec.c | 59 +-
> > drivers/counter/intel-qep.c | 150 +-
> > drivers/counter/interrupt-cnt.c | 73 +-
> > drivers/counter/microchip-tcb-capture.c | 103 +-
> > drivers/counter/stm32-lptimer-cnt.c | 176 +-
> > drivers/counter/stm32-timer-cnt.c | 147 +-
> > drivers/counter/ti-eqep.c | 205 ++-
> > include/linux/counter.h | 716 ++++----
> > include/linux/counter_enum.h | 45 -
> > include/uapi/linux/counter.h | 133 ++
> > tools/Makefile | 13 +-
> > tools/counter/Build | 1 +
> > tools/counter/Makefile | 53 +
> > tools/counter/counter_example.c | 95 ++
> > 27 files changed, 3501 insertions(+), 2767 deletions(-)
> > create mode 100644 drivers/counter/counter-chrdev.c
> > create mode 100644 drivers/counter/counter-chrdev.h
> > create mode 100644 drivers/counter/counter-core.c
> > create mode 100644 drivers/counter/counter-sysfs.c
> > create mode 100644 drivers/counter/counter-sysfs.h
> > delete mode 100644 drivers/counter/counter.c
> > delete mode 100644 include/linux/counter_enum.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: 6cbb3aa0f9d5d23221df787cf36f74d3866fdb78
>
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
prev parent reply other threads:[~2021-07-12 10:50 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-05 8:18 [PATCH v12 00/17] Introduce the Counter character device interface William Breathitt Gray
2021-07-05 8:18 ` [PATCH v12 01/17] counter: 104-quad-8: Return error when invalid mode during ceiling_write William Breathitt Gray
2021-07-05 8:18 ` [PATCH v12 02/17] counter: Return error code on invalid modes William Breathitt Gray
2021-07-09 17:40 ` David Lechner
2021-07-05 8:18 ` [PATCH v12 03/17] counter: Standardize to ERANGE for limit exceeded errors William Breathitt Gray
2021-07-05 8:18 ` [PATCH v12 04/17] counter: Rename counter_signal_value to counter_signal_level William Breathitt Gray
2021-07-05 8:18 ` [PATCH v12 05/17] counter: Rename counter_count_function to counter_function William Breathitt Gray
2021-07-05 8:18 ` [PATCH v12 07/17] counter: Update counter.h comments to reflect sysfs internalization William Breathitt Gray
2021-07-09 17:49 ` David Lechner
2021-07-10 9:41 ` William Breathitt Gray
2021-07-05 8:18 ` [PATCH v12 08/17] docs: counter: Update " William Breathitt Gray
2021-07-09 17:56 ` David Lechner
2021-07-05 8:18 ` [PATCH v12 09/17] counter: Move counter enums to uapi header William Breathitt Gray
2021-07-05 8:18 ` [PATCH v12 10/17] counter: Add character device interface William Breathitt Gray
2021-07-10 19:37 ` David Lechner
2021-07-11 12:20 ` Jonathan Cameron
2021-07-12 10:28 ` William Breathitt Gray
2021-07-05 8:18 ` [PATCH v12 11/17] docs: counter: Document " William Breathitt Gray
2021-07-10 20:15 ` David Lechner
2021-07-11 10:41 ` William Breathitt Gray
2021-07-05 8:19 ` [PATCH v12 12/17] tools/counter: Create Counter tools William Breathitt Gray
2021-07-10 16:53 ` David Lechner
2021-07-11 11:28 ` William Breathitt Gray
2021-07-11 14:05 ` David Lechner
2021-07-11 13:22 ` Jonathan Cameron
2021-07-05 8:19 ` [PATCH v12 13/17] counter: Implement signalZ_action_component_id sysfs attribute William Breathitt Gray
2021-07-10 16:20 ` David Lechner
2021-07-05 8:19 ` [PATCH v12 14/17] counter: Implement *_component_id sysfs attributes William Breathitt Gray
2021-07-10 17:06 ` David Lechner
2021-07-11 13:28 ` Jonathan Cameron
2021-07-11 14:08 ` David Lechner
2021-07-12 10:19 ` Jonathan Cameron
2021-07-05 8:19 ` [PATCH v12 15/17] counter: Implement events_queue_size sysfs attribute William Breathitt Gray
2021-07-06 11:40 ` Jarkko Nikula
2021-07-10 10:25 ` William Breathitt Gray
2021-07-10 15:43 ` David Lechner
2021-07-10 16:08 ` David Lechner
2021-07-10 17:53 ` David Lechner
2021-07-11 9:12 ` William Breathitt Gray
2021-07-05 8:19 ` [PATCH v12 16/17] counter: 104-quad-8: Replace mutex with spinlock William Breathitt Gray
2021-07-05 8:19 ` [PATCH v12 17/17] counter: 104-quad-8: Add IRQ support for the ACCES 104-QUAD-8 William Breathitt Gray
2021-07-11 13:44 ` Jonathan Cameron
2021-07-12 10:59 ` William Breathitt Gray
2021-07-06 11:40 ` [PATCH v12 00/17] Introduce the Counter character device interface Jarkko Nikula
2021-07-07 0:28 ` William Breathitt Gray
[not found] ` <834dadaa68af74c703f19f8ddcca5512dd1d177e.1625471640.git.vilhelm.gray@gmail.com>
2021-07-11 11:42 ` [PATCH v12 06/17] counter: Internalize sysfs interface code Jonathan Cameron
2021-07-11 13:48 ` [PATCH v12 00/17] Introduce the Counter character device interface Jonathan Cameron
2021-07-12 10:48 ` William Breathitt Gray [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YOwd8aL+K+U+9GXz@shinobu \
--to=vilhelm.gray@gmail.com \
--cc=a.fatoum@pengutronix.de \
--cc=alexandre.belloni@bootlin.com \
--cc=alexandre.torgue@st.com \
--cc=david@lechnology.com \
--cc=fabrice.gasnier@st.com \
--cc=gwendal@chromium.org \
--cc=jarkko.nikula@linux.intel.com \
--cc=jic23@kernel.org \
--cc=kamel.bouhara@bootlin.com \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=o.rempel@pengutronix.de \
--cc=patrick.havelange@essensium.com \
--cc=syednwaris@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).