From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lars Poeschel Subject: Re: [PATCH v3] gpio: interrupt consistency check for OF GPIO IRQs Date: Tue, 10 Sep 2013 10:47:55 +0200 Message-ID: <2052193.CMUEUJFRgS@lem-wkst-02> References: <1377526030-32024-1-git-send-email-larsi@wh2.tu-dresden.de> <52279524.8090006@wwwdotorg.org> <20130909161924.GT29403@sirena.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Return-path: In-Reply-To: <20130909161924.GT29403@sirena.org.uk> Sender: linux-gpio-owner@vger.kernel.org To: Mark Brown Cc: Stephen Warren , 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 Tuesday 10 September 2013 17:19:24, 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). And I say it again for those coming into the discussion late, like it has been said many many times before: This patch does not break any of this drivers. They simply request their GPIO from DT and turn it into an irq using gpio_to_irq, request that irq on their behalf and use it as GPIO and IRQ in parallel. At least this is not a problem.