Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758392Ab3HBJ7S (ORCPT ); Fri, 2 Aug 2013 05:59:18 -0400 Received: from h1446028.stratoserver.net ([85.214.92.142]:51795 "EHLO mail.ahsoftware.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758160Ab3HBJ7Q (ORCPT ); Fri, 2 Aug 2013 05:59:16 -0400 Message-ID: <51FB8292.9090000@ahsoftware.de> Date: Fri, 02 Aug 2013 11:57:38 +0200 From: Alexander Holler User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 MIME-Version: 1.0 To: Javier Martinez Canillas CC: Linus Walleij , Grant Likely , Linux Kernel Mailing List , "linux-arm-kernel@lists.infradead.org" , Linux-OMAP , "devicetree@vger.kernel.org" , Enric Balletbo i Serra , Jean-Christophe PLAGNIOL-VILLARD , Santosh Shilimkar , Kevin Hilman , Balaji T K , Tony Lindgren , Jon Hunter Subject: Re: [PATCH] RFC: interrupt consistency check for OF GPIO IRQs References: <1375101368-17645-1-git-send-email-linus.walleij@linaro.org> <51F8CC35.1070704@collabora.co.uk> In-Reply-To: <51F8CC35.1070704@collabora.co.uk> Content-Type: text/plain; charset=ISO-8859-1; 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: 1978 Lines: 47 Am 31.07.2013 10:35, schrieb Javier Martinez Canillas: > > The problem is that board files and drivers that has not not been completed > migrated to DT assumes (at least for OMAP) that *every* GPIO line is mapped as > an IRQ and they just do: > > gpio_request(gpio,...); > gpio_direction_input() > request[_threaded]_irq(gpio_to_irq(gpio), ...); > > My patch-set changed the gpio-omap driver to not map all GPIO lines but only the > ones that were really used as an IRQ and let the DT core to do the mapping from > irq_create_of_mapping(). The first problem reported with the OMAP patch was that > a driver was using the above sequence and that the GPIO had not been mapped. > This user was booting with DT and so this showed a bug in the driver and a DT > that did not conform with the standard schema used in mainline but this shows a > potential issue. There must have been a bug in the patch too. I've also added that iinterrupt-parent stuff (with the same flags as used by the driver) and just have let the driver call request_threaded_irq(gpio_to_irq(gpio), flags); without the gpio_request()/input() before. And request_threaded_irq() returned -EBUSY. I'm pretty sure nothing else did use that gpio, but I haven't looked at why request_threaded_irq() returned -EBUSY. I assume the new mapping stuff did reserve the irq in such a way, that the driver couldn't request the IRQ. Otherwise I wouldn't have had a problem by just adding the necessary entries to the DT. But I have to say I didn't like the syntax too, and it wasn't obvious how the syntax is and how to conclude from a gpio number to an irq-number and the patch didn't really include some documentation or useful example. Regards, Alexander Holler -- 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/