Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3800638pxb; Tue, 26 Jan 2021 05:16:54 -0800 (PST) X-Google-Smtp-Source: ABdhPJw4OPnXSJ0hkj+8VovPCFMcKw1tlTyNefUW6lwRJHT0kW9FvapbHQcL/5rs9qi54tnk7r1C X-Received: by 2002:a17:906:6407:: with SMTP id d7mr2215209ejm.133.1611667014734; Tue, 26 Jan 2021 05:16:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611667014; cv=none; d=google.com; s=arc-20160816; b=gUj/mg9OAEysvQpoZHC7NYiiF42nzxXwVD56spw0NJ/Jb7t+0y/ZbL2oJtPQcyI6wb apJ6XM7od/EKeVI1aNCtrm+o7SusDlDuvKwD2Ys6ZexRus0uWl+UwkWk73jnB5HmX4SW QCKgzMYh1ySfu24E8mehA3LeUdzZetpE398r2lOpZI/g4l0IU7LErZtwfJbooNrGwayC P1A6HrqIklFqS2UFZN1No54sxbJsJ3DI4unA/0FjrXlAWhn4SCwwFZ7nrc3NBioYcist ARgFMlTYs0FEc8kyEuE2juQrcmPcgYIE0sBmG8LJO5lDoGbWedZZvSCwleC678sxi//C ekwA== 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=C8ljba5qQwnbhnrdNr3oh3NgDWIG73j/RaLqfg+Zmgc=; b=RdZiEe99KGzfrBsKoBNZ8jKd5j3NkO9pq+/XJ42cU5oE2fPnhS9UhJ5jVYO8Z1XEOy nQtn6/zKPRBiyP0m3TeWf6WOjU1sh6ahp1LbxsMvcpQ/y2UrQg+1CvpLkG97CbVGIOWK sDEosBgSDkqU1eKEiK6zBzqL3WFXiQXIQLRdrsHCu4So/HH1JLPM7KiypgQ03DMBu/zA omK8O6yNbGFnNxVOxVOQ9jDv3iwmApdWX5V4F0JEJ/Ni8H2qxACBf4Sn/5KF+gYPEvmo TFo71zQ0WwmqmFz8jg9f5Kay1zkVkJSZJTmLeL7PceLiIZcXw69no/7LcOtXN0ruJRVo lqAg== 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 p8si2209400edr.441.2021.01.26.05.16.28; Tue, 26 Jan 2021 05:16:54 -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 S2404124AbhAZNNv (ORCPT + 99 others); Tue, 26 Jan 2021 08:13:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56902 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2404108AbhAZNNg (ORCPT ); Tue, 26 Jan 2021 08:13:36 -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 3D446C061D73 for ; Tue, 26 Jan 2021 05:12:52 -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 1l4O9C-0001l1-9b; Tue, 26 Jan 2021 14:12:42 +0100 Received: from ore by dude.hi.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1l4O9A-0002CG-Sx; Tue, 26 Jan 2021 14:12:40 +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 v4 0/2] add support for GPIO based counter Date: Tue, 26 Jan 2021 14:12:37 +0100 Message-Id: <20210126131239.8335-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 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 pulse-counter binding counter: add IRQ or GPIO based pulse counter .../bindings/counter/pulse-counter.yaml | 52 ++++ drivers/counter/Kconfig | 10 + drivers/counter/Makefile | 1 + drivers/counter/pulse-cnt.c | 235 ++++++++++++++++++ 4 files changed, 298 insertions(+) create mode 100644 Documentation/devicetree/bindings/counter/pulse-counter.yaml create mode 100644 drivers/counter/pulse-cnt.c -- 2.30.0