[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