Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp5527024pxb; Tue, 16 Feb 2021 00:18:11 -0800 (PST) X-Google-Smtp-Source: ABdhPJwl30wTs+ao3YJBzYT1VfIODIl+erW96KM8REtRehmFxLyHSo8nKbxKetJUUd75ehGHiZ6T X-Received: by 2002:a17:906:3856:: with SMTP id w22mr8337343ejc.77.1613463491627; Tue, 16 Feb 2021 00:18:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613463491; cv=none; d=google.com; s=arc-20160816; b=vxl5kAvIW3HUu0CjQB0HTtdKHigKzhtkkFTmTdAcLad8JwCQbmInGeq7DrNTl6I9KL LDjtpulBayPD2Z4wbaeBb8J+aqg9Y52bW06/fWHpUzt/maM8fZnMNq5/Q6MJnvAQWmNZ KwYNDXtlyztE+9bJfFo+k2KR6Sfs7wtkGjlzaH9XatDnXBmwqTQXcnkISvaOXgFn1l0w DPHJhDvUXL3ezHJr2R/+BJfRqKFg4sC9P/gQk39YGmYUhBcPKqdhzuZJXH1axICBfDrC 7ygn/MlXAvrW7mYmnUZu9TSY+tfmDHZbCHiRIRbQolBDw10yhTdljrDpn8oaXYfWEfCO YPpg== 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=TzlzakLn7jZjEdkxcmeEWIQHRiw0EeGUY9+jlpfCwy8=; b=EdMI8O2s3NuK1MzpZPNYN2+YfIENmJUgv4fTWGnSHybu6hDWhmccCy2xZQq55H4pJC cuMO95qLs6ZknIPrV4Ok8sOryIwvWxXwAz92Vg7OCi9a+/cJDR2+j+pn4Nm/sSg3IjzY AD75iSoa7IucDxHlai+ufVoJiH4Id+rVfOp3A0U6jg+RS6KJibEJsPbEHSl18UxCVt6P 6FlfhiHkKyfO/YGdZpcJCWcBkDVP3uQCn2KXRDrrnZEvn9K7DTYsYE9vDjlmW3LIEjMy T8s5dtenYJiW6dZ52gTRqvTvwIsF9/4OUyJSN5EtGlHONy8qhsgliWerHRaw3izJAlco Xwtg== 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 w21si4852407ejk.54.2021.02.16.00.17.48; Tue, 16 Feb 2021 00:18:11 -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 S229864AbhBPIPi (ORCPT + 99 others); Tue, 16 Feb 2021 03:15:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56070 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229812AbhBPIPH (ORCPT ); Tue, 16 Feb 2021 03:15:07 -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 19651C061788 for ; Tue, 16 Feb 2021 00:14:24 -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 1lBvUw-0000SJ-MH; Tue, 16 Feb 2021 09:14:18 +0100 Received: from ore by dude.hi.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1lBvUv-0000x5-Em; Tue, 16 Feb 2021 09:14:17 +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 v6 0/2] add support for GPIO or IRQ based evemt counter Date: Tue, 16 Feb 2021 09:13:54 +0100 Message-Id: <20210216081356.3577-1-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.29.2 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 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 -- 2.29.2