On Fri, 20 Apr 2012 08:38:05 +0200, Linus Walleij wrote: > On Thu, Apr 19, 2012 at 8:29 PM, Grant Likely 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.