Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755124AbbLGVLC (ORCPT ); Mon, 7 Dec 2015 16:11:02 -0500 Received: from bhuna.collabora.co.uk ([46.235.227.227]:36316 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752986AbbLGVK7 (ORCPT ); Mon, 7 Dec 2015 16:10:59 -0500 Message-ID: <5665F5DF.50002@collabora.co.uk> Date: Mon, 07 Dec 2015 21:10:55 +0000 From: Martyn Welch User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.8.0 MIME-Version: 1.0 To: Rob Herring , Linus Walleij CC: Arnd Bergmann , Greg Kroah-Hartman , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Russell King , Kukjin Kim , Krzysztof Kozlowski , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, Olof Johansson Subject: Re: [PATCH 1/3] Device tree binding documentation for gpio-switch References: <1449250275-23435-1-git-send-email-martyn.welch@collabora.co.uk> <1449250275-23435-2-git-send-email-martyn.welch@collabora.co.uk> <20151207173702.GA17659@rob-hp-laptop> In-Reply-To: <20151207173702.GA17659@rob-hp-laptop> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3988 Lines: 109 On 07/12/15 17:37, Rob Herring wrote: > +Linus W > > On Fri, Dec 04, 2015 at 05:31:13PM +0000, Martyn Welch wrote: >> This patch adds documentation for the gpio-switch binding. This binding >> provides a mechanism to bind named links to gpio, with the primary >> purpose of enabling standardised access to switches that might be standard >> across a group of devices but implemented differently on each device. > > This is good and what I suggested, but it now makes me wonder if switch > is generic enough. This boils down to needing to expose single gpio > lines to userspace with a defined function/use. IIRC, there's been some > discussion about this before along with improving the userspace > interface for GPIO in general. So I'd like to get Linus' thoughts on > this. > No problem. Rename gpio-signal? > >> Signed-off-by: Martyn Welch >> --- >> .../devicetree/bindings/misc/gpio-switch.txt | 47 ++++++++++++++++++++++ >> 1 file changed, 47 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/misc/gpio-switch.txt >> >> diff --git a/Documentation/devicetree/bindings/misc/gpio-switch.txt b/Documentation/devicetree/bindings/misc/gpio-switch.txt >> new file mode 100644 >> index 0000000..13528bd >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/misc/gpio-switch.txt >> @@ -0,0 +1,47 @@ >> +Device-Tree bindings for gpio attached switches. >> + >> +This provides a mechanism to provide a named link to specified gpios. This can >> +be useful in instances such as when theres a need to monitor a switch, which is >> +common across a family of devices, but attached to different gpios and even >> +implemented in different ways on differnet devices. >> + >> +Required properties: >> + - compatible = "gpio-switch"; >> + >> +Each signal is represented as a sub-node of "gpio-switch". The naming of >> +sub-nodes is arbitrary. >> + >> +Required sub-node properties: >> + >> + - label: Name to be given to gpio switch. >> + - gpios: OF device-tree gpio specification. >> + >> +Optional sub-node properties: >> + >> + - read-only: Boolean flag to mark the gpio as read-only, i.e. the line >> + should not be driven by the host. > > In terms a a switch use, allowing driving it would be an override of the > switch. Is that the idea here? > Yeah - since it had become a lot more generic and a lot of switches/signals would probably be implemented with a pull-up resistor of something like that, it seemed to make sense to allow them to be driven as well. >> + >> +Example nodes: >> + >> + gpio-switch { >> + compatible = "gpio-switch"; > > Both from a binding and driver perspective, there is no point in > grouping these. Each node can simply have this compatible string. > True. I did it this way as this is how gpio-keys is implemented. OK, that has one optional parameter (autorepeat) for the block and this has none. Though I can also see that these probably have less in common than the individual lines used in gpio-keys. >> + >> + write-protect { >> + label = "write-protect"; >> + gpios = <&gpx3 0 GPIO_ACTIVE_LOW>; >> + read-only; >> + }; >> + >> + developer-switch { >> + label = "developer-switch"; >> + gpios = <&gpx1 3 GPIO_ACTIVE_HIGH>; >> + read-only; >> + }; >> + >> + recovery-switch { >> + label = "recovery-switch"; >> + gpios = <&gpx0 7 GPIO_ACTIVE_LOW>; >> + read-only; >> + }; >> + }; >> + >> -- >> 2.1.4 >> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/