From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Subject: Re: [PATCH v3] gpio: interrupt consistency check for OF GPIO IRQs Date: Mon, 11 Nov 2013 11:53:38 -0700 Message-ID: <528127B2.80109@wwwdotorg.org> References: <1377526030-32024-1-git-send-email-larsi@wh2.tu-dresden.de> <1521079.WSLhhfqBXl@lem-wkst-02> <52261BF0.4090106@wwwdotorg.org> <3144247.j2q6H0KWZx@lem-wkst-02> <52279524.8090006@wwwdotorg.org> <20130909161924.GT29403@sirena.org.uk> <528121D5.40403@keymile.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <528121D5.40403@keymile.com> Sender: linux-gpio-owner@vger.kernel.org To: Gerlando Falauto , Mark Brown Cc: Lars Poeschel , Javier Martinez Canillas , Linus Walleij , Lars Poeschel , Grant Likely , "linux-gpio@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "devicetree@vger.kernel.org" , Mark Rutland , Ian Campbell , Kumar Gala , Pawel Moll , Tomasz Figa , Enric Balletbo i Serra , Jean-Christophe PLAGNIOL-VILLARD , Santosh Shilimkar , Kevin Hilman , Balaji T K , Tony Lindgren , Jon Hunter List-Id: devicetree@vger.kernel.org On 11/11/2013 11:28 AM, Gerlando Falauto wrote: > Hi everyone, > > [jumping in on an old discussion] > > On 09/09/2013 06:19 PM, Mark Brown wrote: >> On Wed, Sep 04, 2013 at 02:16:36PM -0600, Stephen Warren wrote: >>> On 09/04/2013 03:05 AM, Lars Poeschel wrote: >> >>>> The driver that tries to use the GPIO requested by this patch before >>>> HAS to >>>> fail. This is exactly the intention of this patch. We don't want the >>>> GPIO to >>>> be requested any more, if it is used as an interrupt pin. >> >>> That will break existing drivers. There are drivers that request the >>> same GPIO and IRQ. IIRC, the SDHCI CD (Card Detect) GPIO is requested >>> that way. >> >> Yes, plus input devices and audio jack detection among others. This >> pattern is very common if the GPIO is actually being used as a GPIO, an >> edge triggered interrupt is used to flag when something happens and the >> state is determined by reading the GPIO state (often with some >> debounce). > > I actually came across this thread while looking for an answer to the > following (apparently trivial) question: > > If you were to write a new driver & binding, what would be, in general, > the recommended DT binding for a cascade interrupt controller (or any > other peripheral, for that matter), which is connected through a GPIO > (to be used as IRQ)? > > a) Through gpios = <&gpio0 N> > b) through interrupt-parent = <&gpio0> & interrupts IRQ_TYPE_LEVEL_LOW>, or > c) both? (b) alone. >>From the perspective of the child interrupt controller, its output is purely an interrupt. The fact that the parent interrupt controller could use that pin as a GPIO in some other context (e.g. on a different board) isn't something that the child interrupt controller should know/care about.