Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp4012016pxb; Mon, 8 Feb 2021 06:02:24 -0800 (PST) X-Google-Smtp-Source: ABdhPJy0j7Ayrj7858owptegmJ0vByVghqPb7A2lzOe/9g2DjsPiqcy4lA286eN8+yPWH81Wqi26 X-Received: by 2002:a17:907:9495:: with SMTP id dm21mr16951800ejc.462.1612792943093; Mon, 08 Feb 2021 06:02:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612792943; cv=none; d=google.com; s=arc-20160816; b=ouvlW0P0v1SFgYZC/g56jCq2AStNmiFgDVzBp46UaF229vPYz9LPuVZqYdbE4p+UOa CNAailhxKEvKfiYe6WOE/TlDUjsocTxzNZAa4vL4pYoo2Mr33xv7brzeEx/vocljzB49 1JajkwzB39IjQ5DnXU0Wqp83zy6M8nLtkQPr6eXf3Os0Ku5eYr9b+JKYfchJ9FNwi8fs 0lTRrJ/Gww457JYK0LHH2R4eTjliveDjMwuUeIxti+A+qN0RYCNVQq9esvt+5mLnizmm DMDNo87/XQPzhrOdG6PDXgjznpki9Ti1H5jqLWCg2tjsXPLY4oiqn1JTIU4/YC4lVwfp 2APA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=izQ0FqQGqAuG02anxZOfaCr1V/dWAnhjGWCbuc8Mnu4=; b=Ocv+wsQkgfD5LAIqK6Zi+uqU7Js0emyLBvRnf5bykOISFlUBnNLoGhjnaGCNvgUcdE PNNTy/+yPvgVe5pQytzL60yu0NMSpkFf3aKU5eCiGYivbn/T+PSLQUDGfw+DpAx8vEHs WLadp0wUeGUcRoqtsQVlfAd2LVRgZwbcMaqMBrIFqbXUY1q/3lj4kJBzcmympNrtBTS4 u4pa8GRABZhPiFxjUvEdSDwKOvZWvrqcxKslsej9je5nBZ3UEKkanaC1zfOMC1ul8i9k KyRIe8bfqXvoUIsjEwTHpYB6TgiPye30JdLA2i2dt4RT0rJ7W1JU09pX4F5JL1JSMzMs d2dw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l17si10724781ejf.260.2021.02.08.06.01.46; Mon, 08 Feb 2021 06:02:23 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232170AbhBHN7N (ORCPT + 99 others); Mon, 8 Feb 2021 08:59:13 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35398 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231784AbhBHNzR (ORCPT ); Mon, 8 Feb 2021 08:55:17 -0500 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ECAFCC061793 for ; Mon, 8 Feb 2021 05:53:54 -0800 (PST) Received: from dude.hi.pengutronix.de ([2001:67c:670:100:1d::7]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l96z7-0006qI-Bw; Mon, 08 Feb 2021 14:53:49 +0100 Received: from ore by dude.hi.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1l96z6-0004pH-Ie; Mon, 08 Feb 2021 14:53:48 +0100 From: Oleksij Rempel To: Rob Herring , William Breathitt Gray Cc: Oleksij Rempel , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Pengutronix Kernel Team , David Jander , Robin van der Gracht , linux-iio@vger.kernel.org, Linus Walleij , Jonathan Cameron Subject: [PATCH v5 0/2] add support for GPIO or IRQ based evemt counter Date: Mon, 8 Feb 2021 14:53:45 +0100 Message-Id: <20210208135347.18494-1-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::7 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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/event-counter.yaml | 56 ++++ drivers/counter/Kconfig | 10 + drivers/counter/Makefile | 1 + drivers/counter/event-cnt.c | 250 ++++++++++++++++++ 4 files changed, 317 insertions(+) create mode 100644 Documentation/devicetree/bindings/counter/event-counter.yaml create mode 100644 drivers/counter/event-cnt.c -- 2.30.0