From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomasz Figa Subject: Re: [PATCH v3] gpio: interrupt consistency check for OF GPIO IRQs Date: Mon, 11 Nov 2013 20:38:02 +0100 Message-ID: <1867149.UUx9fK3YLD@flatron> References: <1377526030-32024-1-git-send-email-larsi@wh2.tu-dresden.de> <52812D3A.2070107@keymile.com> <52813100.1060500@wwwdotorg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Return-path: In-Reply-To: <52813100.1060500@wwwdotorg.org> Sender: linux-gpio-owner@vger.kernel.org To: Stephen Warren Cc: Gerlando Falauto , Mark Brown , 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 , Enric Balletbo i Serra , Jean-Christophe PLAGNIOL-VILLARD , Santosh Shilimkar , Kevin Hilman , Balaji T K , Tony Lindgren List-Id: devicetree@vger.kernel.org On Monday 11 of November 2013 12:33:20 Stephen Warren wrote: > On 11/11/2013 12:17 PM, Gerlando Falauto wrote: > > Hi Stephan, > > > > On 11/11/2013 07:53 PM, Stephen Warren wrote: > >> 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. > >> > > > > Thanks for your answer. So it should be the parent driver to proactively > > configure the GPIO as input, active high etc..., when an IRQ for its > > GPIOs is requested, right? > > That was the conclusion of this thread, or a similar thread, yes. I would only add that settings, such as pull up/down control that depends on the chip that drives the interrupt pin (i.e. the child interrupt controller), are usually configured using pin control bindings. Best regards, Tomasz