Re: [PATCH] irqdomain: print a warning if domains contain IRQ 0

From: Grant Likely
Date: Fri Apr 27 2012 - 14:56:47 EST


On Fri, 20 Apr 2012 08:38:05 +0200, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote:
> On Thu, Apr 19, 2012 at 8:29 PM, Grant Likely <grant.likely@xxxxxxxxxxxx> wrote:
>
> > This is indeed specific to the legacy domain.  I think the patch is
> > good and it will help weed out unintended irq0 users.  However, it
> > requires the following additional fix I think.  It will need to be
> > tested to make sure it doesn't break PowerPC ISA users.
> >
> > g.
> >
> > diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h
> > index d0995bd..31f1f88 100644
> > --- a/include/linux/irqdomain.h
> > +++ b/include/linux/irqdomain.h
> > @@ -138,7 +138,7 @@ static inline struct irq_domain *irq_domain_add_legacy_isa(
> >                                const struct irq_domain_ops *ops,
> >                                void *host_data)
> >  {
> > -       return irq_domain_add_legacy(of_node, NUM_ISA_INTERRUPTS, 0, 0, ops,
> > +       return irq_domain_add_legacy(of_node, NUM_ISA_INTERRUPTS-1, 1, 1, ops,
> >                                     host_data);
>
> Hm, so what does this do? If I fold it into my patch I need some
> kind of blurb...
>
> I'm guessing it bumps the ISA IRQs with one to avoid using IRQ0 which
> seems like a valid patch on its own, and that the old code was
> used for actively ignoring IRQ 0 on ISA (not used or whatever)?

Yes, that is exactly what it does. The fact that 0 is allowed but
never used is an artifact of how this code used to be only for ISA and
both irq and hwirq base numbers were hard coded to 0 for that.

The reworked legacy domain allowed both irq base and hwirq base to be
non-zero, but the check for 0 code remained.

g.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/