Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp953214pxb; Fri, 22 Jan 2021 03:35:19 -0800 (PST) X-Google-Smtp-Source: ABdhPJzRG5ExZm2JfnGw72eYT0mVBRw0Ck2fuRC+b/CDwro4OmbOUu1Ls0DuDUkoYPi9SFFQm/Aw X-Received: by 2002:a17:906:a1c5:: with SMTP id bx5mr2772759ejb.284.1611315318920; Fri, 22 Jan 2021 03:35:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611315318; cv=none; d=google.com; s=arc-20160816; b=ROrfTJ+zBhshs5p1bSIgFYg8iWvirARrFnp/pJjh+Mj0YNA3X7FNxO07vQyk9jIVJ9 5wJ2WTm4dv2KmLtPpHdLtcD9e26pe3osFPOD3GlTOMLByJ8677K3LZi65kMZXs36nl7F V1YCeF5N+jShUNFWYw6pYPZBQrXlmkyezhEwWj0Zop3GkMeDDWvW4ZtLOnORGXd8PT21 qqHTvECfykLVbFKdAi7js6GSxjzAlU+Ltiyou5L7OOE7UtbxS/Nr/sF3fGf41T5T8t8a cwHHhpnHfQ/Gj0atdDgRno0p9xquOCYzi7IqUsMl0PN7c3SzOmbypiSPyBqaQSx4bJm3 kEWA== 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=J8lJdgbKaSCnBsbfwpg/vPJvZRorLuKdhzMMmEBFWdo=; b=SPjFaYYe91uzCPvqZ3npjeE9ARUt8u5brHFyqIRYwWc1gDf9k37at4UQOLc7MljQZX esK0G87hmhW3A5hjTSBymy1VD6fg4ZVYrcpxAbppiRVUk8prlhHX6FOC2lDizwOa4Plq zigYzEWQfrKtDcnKYFsiz2avsT/OooKXE8EYWxhfrXzx2UR6UxyvLsD1hhRpRf5iMzEH 7PNwZki4N6FflJvDpRlmiCq56m6W+GScXCkzI3aE0AJYBM2B3dmINLnfhFpz7NvYEl3v 7IVEyFeLH6z5s8pBPT3nZr5NXWvt1fJCUuZIQQD0TihTOJ9KRpDAy5vIHJv8dcg7gZEy 9xNQ== 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 v12si3365733edy.585.2021.01.22.03.34.55; Fri, 22 Jan 2021 03:35:18 -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 S1728068AbhAVLbg (ORCPT + 99 others); Fri, 22 Jan 2021 06:31:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41316 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728365AbhAVL2d (ORCPT ); Fri, 22 Jan 2021 06:28:33 -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 BCCE7C061797 for ; Fri, 22 Jan 2021 03:27:02 -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 1l2uae-0000Wu-In; Fri, 22 Jan 2021 12:26:56 +0100 Received: from ore by dude.hi.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1l2uae-0007d6-0w; Fri, 22 Jan 2021 12:26:56 +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 Subject: [PATCH v2 0/2] add support for GPIO based counter Date: Fri, 22 Jan 2021 12:24:32 +0100 Message-Id: <20210122112434.27886-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 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 gpio-pulse-counter binding counter: add GPIO based pulse counters .../bindings/counter/gpio-pulse-counter.yaml | 39 +++ drivers/counter/Kconfig | 9 + drivers/counter/Makefile | 1 + drivers/counter/gpio-pulse-cnt.c | 244 ++++++++++++++++++ 4 files changed, 293 insertions(+) create mode 100644 Documentation/devicetree/bindings/counter/gpio-pulse-counter.yaml create mode 100644 drivers/counter/gpio-pulse-cnt.c -- 2.30.0