From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934469AbcKNSxk (ORCPT ); Mon, 14 Nov 2016 13:53:40 -0500 Received: from www381.your-server.de ([78.46.137.84]:34731 "EHLO www381.your-server.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753014AbcKNSxh (ORCPT ); Mon, 14 Nov 2016 13:53:37 -0500 Subject: Re: [PATCH 1/2] staging: iio: ad7606: replace range/range_available with corresponding scale To: Linus Walleij , Jonathan Cameron References: <1478846078-22207-1-git-send-email-eraretuya@gmail.com> <1478846078-22207-2-git-send-email-eraretuya@gmail.com> Cc: Eva Rachel Retuya , "linux-iio@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Michael Hennerich , Hartmut Knaack , Peter Meerwald , Greg KH From: Lars-Peter Clausen X-Enigmail-Draft-Status: N1110 Message-ID: Date: Mon, 14 Nov 2016 19:53:28 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Authenticated-Sender: lars@metafoo.de Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/14/2016 05:58 PM, Linus Walleij wrote: > On Sat, Nov 12, 2016 at 3:24 PM, Jonathan Cameron wrote: > >> Is it just me who thought, we need a fixed GPI like a fixed regulator? >> Would allow this sort of fixed wiring to be simply defined. >> >> Linus, worth exploring? > > So if fixed regulator is for a voltage provider, this would be > pretty much the inverse: deciding for a voltage range by switching > a GPIO. It's about figuring out the setting of a "GPIO" that can't be changed from software. Devices sometimes, instead of a configuration bus like I2C or SPI, use simple input pins, that can either be set to high or low, to allow software the state of the device. The GPIO API is typically used to configure these pins. This works fine as long as the pin is connected to a GPIO. But sometimes the system designer decides that a settings does not need to be configurable, in this case the pin will be tied to logic low or high directly on the PCB without any GPIO controller being involved. Sometimes a driver wants to know how the pin is wired up so it can report to userspace this part runs in the following mode and the mode can't be changed. In a sense it is like a reverse GPIO hog. Considering that this is a common usecase the question was how this can be implemented in a driver independent way to avoid code duplication and slightly different variations of what is effectively the same DT/ACPI binding. E.g. lets say for a configurable pin you use range-gpio = <&gpio ...>; and for a static pin range-gpio-fixed = <1>; Or something similar.