On Fri, 26 Apr 2013 16:31:24 -0500, Jon Hunter <jon-hunter@xxxxxx> wrote: > > On 04/26/2013 02:31 AM, Linus Walleij wrote: > > On Wed, Apr 17, 2013 at 2:41 AM, Javier Martinez Canillas > > <martinez.javier@xxxxxxxxx> wrote: > > > > So: > > > >> +static int omap_gpio_irq_domain_xlate(struct irq_domain *d, > >> + struct device_node *ctrlr, > >> + const u32 *intspec, unsigned int intsize, > >> + irq_hw_number_t *out_hwirq, > >> + unsigned int *out_type) > >> +{ > >> + int ret; > >> + struct gpio_bank *bank = d->host_data; > >> + int gpio = bank->chip.base + intspec[0]; > >> + > >> + if (WARN_ON(intsize < 2)) > >> + return -EINVAL; > >> + > >> + ret = gpio_request_one(gpio, GPIOF_IN, ctrlr->full_name); > >> + if (ret) > >> + return ret; > > > > So how to figure out if a device is already requesting this GPIO > > on some orthogonal axis? > > I really don't think that is necessary. Hopefully, my other email [1] > elaborates on why. Let me know if this makes sense. I would agree here. If the irq specified happens to be a GPIO; then the onus is on the GPIO/IRQ controller driver to make sure that GPIO is actually set up to work as an IRQ. g. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html