On 08/29/2013 01:00 PM, Linus Walleij wrote: > On Fri, Aug 23, 2013 at 9:52 PM, Stephen Warren <swarren@xxxxxxxxxxxxx> wrote: >> On 08/23/2013 12:45 PM, Linus Walleij wrote: > >>> This is a perfectly OK thing to do as long as it is done like >>> this: >>> >>> request_gpio(gpio); >>> gpio_direction_input(gpio); >>> request_irq(gpio_to_irq(gpio)); >> >> But I'm not aware that there's a rule saying it's illegal to: >> >> request_irq(gpio_to_irq(gpio)); >> request_gpio(gpio); >> gpio_direction_input(gpio); > > No but I think there should be one ... maybe I'm an oddball > but it seems natural to request a GPIO before tying > IRQs to fire off it. What if there is no GPIO? There are plenty of chips with dedicated IRQ input pins that can't be read as GPIOs, or treated as GPIOs in any way. If a driver only needs IRQ input functionality, it should just request an IRQ and be done with it. There should be no need at all for the driver to know that the IRQ might be routed into a GPIO controller, and hence that the driver may (or may not) need to additionally request the GPIO before requesting the IRQ. In other words, request_irq() must do everything necessary for the input signal to operate as an IRQ input, irrespective of whether it might be possible to use that input signal as a GPIO. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html