From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4AB1BC07E96 for ; Sun, 11 Jul 2021 13:47:32 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0135D6115B for ; Sun, 11 Jul 2021 13:47:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0135D6115B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=fkOHPo+mtDa4n7tc+jBtlzhWTl5y1H3/ZCOyMs2uKZ4=; b=KaP5cUQ1VIswHb MwNSG7OhzWaZnXZpqnxycHWMmzu8Nmt6YGU+lHyYoZoWkwa0wa8G48pIXxTi/2sGuLQXwxD4kmzz8 C331OuXVg0zpxRlzzH9biSilo5pzqMJHZb77ctIOtDRxCS+64biln/w+iQegvp/tSKUx4q2bonCPF qbroTkosxtIkErw+1w9QzlLpXIcPDUqOw5tnLbrXRHa0yiCQhePK3Kci9OeAup6fFN3rWr1EOQ5RG o49+nS4jn9PoF51wkXS36hETeHzI6/13XtcVfmRHpikpd8uduMDXawN6hI/1+oRtQw0sYteGbqBU7 O7qYVYtukJmAV1elPqwA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m2Zmj-00587R-KT; Sun, 11 Jul 2021 13:46:17 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m2Zme-00586r-V9 for linux-arm-kernel@lists.infradead.org; Sun, 11 Jul 2021 13:46:14 +0000 Received: from jic23-huawei (cpc108967-cmbg20-2-0-cust86.5-4.cable.virginm.net [81.101.6.87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 982D26115B; Sun, 11 Jul 2021 13:46:09 +0000 (UTC) Date: Sun, 11 Jul 2021 14:48:28 +0100 From: Jonathan Cameron To: William Breathitt Gray 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 Message-ID: <20210711144828.795ca342@jic23-huawei> In-Reply-To: References: X-Mailer: Claws Mail 3.18.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210711_064613_094713_A2826B78 X-CRM114-Status: GOOD ( 31.37 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Mon, 5 Jul 2021 17:18:48 +0900 William Breathitt Gray 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 > > 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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel