On Fri, Nov 29, 2013 at 1:14 PM, Valentine <valentine.barshak@xxxxxxxxxxxxxxxxxx> wrote: > On 11/29/2013 02:45 PM, Lars-Peter Clausen wrote: >> On 11/29/2013 11:37 AM, Linus Walleij wrote: >>> So I guess the answer to the question is something like, fix >>> the GPIO driver to stop requiring the GPIO lines to be requested >>> and configured before being used as IRQs, delete that code, >>> and while you're at it add a call to gpiod_lock_as_irq() >>> to your GPIO driver in the right spot: examples are on the >>> mailing list and my mark-irqs branch in the GPIO tree. >> >> As far as I understand it this already works more or less with the driver. >> The problem is that the IRQ numbers are dynamically allocated, while the >> GPIO numbers apparently are not. So the board code knows the the GPIO >> number >> at compile time and can pass this to the diver which then does a >> gpio_to_irq >> to lookup the IRQ number. (...) >> This of course isn't really a problem with >> devicetree, but only with platform board code. > > I'm not sure what's the difference here and why it is not a problem with > devicetree? It's no problem when using devicetree because you can obtain the GPIOs directly from the node with of_get_gpio() and of_get_named_gpio() in the special DT probe path. But don't do that! Instead switch the whole driver, and preferably the whole platform, to use descriptors. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html