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

Andreas Larsson andreas at gaisler.com
Fri Mar 8 20:00:17 EST 2013


On Thu, 2013-03-07 at 04:44 +0100, Linus Walleij wrote:
> 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.

Oh, excellent! I'll look into an irqdomain solution then.

Thanks for the feedback!

Cheers,
Andreas Larsson




More information about the devicetree-discuss mailing list