[PATCH 3/5] gpio/omap: Add DT support to GPIO driver

Grant Likely grant.likely at secretlab.ca
Wed Jun 12 07:25:49 EST 2013


On Fri, 26 Apr 2013 16:31:24 -0500, Jon Hunter <jon-hunter at ti.com> 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 at gmail.com> 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.



More information about the devicetree-discuss mailing list