[PATCH v3] gpio: Add device driver for GRGPIO cores and support custom accessors with gpio-generic

Linus Walleij linus.walleij at linaro.org
Thu Mar 7 14:44:48 EST 2013


On Mon, Mar 4, 2013 at 10:46 AM, Andreas Larsson <andreas at gaisler.com> wrote:
> [Me]
>>> +struct grgpio_priv {
>>> +       struct bgpio_chip bgc;
>>> +       struct grgpio_regs __iomem *regs;
>>> +
>>> +       u32 imask;      /* irq mask shadow register */
>>> +       s32 *irqmap;    /* maps offset to irq or -1 if no irq */
>>
>>
>> irqmap? Argh what is this... I think you want to use irqdomain
>> for this instead. (Documentation/IRQ-domain.txt)
>
>
> Yeah, that comment is not clear. An entry in the irqmap array (for a gpio
> line) can be either -1 indicating no irq for that line or an index into the
> array of irq:s for the of device. Thus it is simply either -1 or a valid
> second argument to irq_of_parse_and_map.

So just make the mapping function in the irqdomain handle that?

Maybe I'm talking weird, I'm not really familiar with
irq_of_parse_and_map().

> Given that this is generally running on SPARC, it seems irqdomain is not an
> option (IRQ_DOMAIN is not selected by SPARC).

That has nothing to do with this. This driver can just select IRQ_DOMAIN
in *it's* Kconfig entry.

Using irqdomain for a certain irq_chip does not at all mandate that the
entire system has to use irqdomain for everything, and two wrongs does
not make one right.

> Given this, is just a better formulated comment OK with you in this case?

No...

Yours,
Linus Walleij


More information about the devicetree-discuss mailing list