On Sat, 16 Jun 2012 00:12:45 -0600, Grant Likely wrote: > On Fri, Jun 15, 2012 at 11:56 PM, Benjamin Herrenschmidt > wrote: > > On Fri, 2012-06-15 at 23:01 -0600, Grant Likely wrote: > >> @@ -329,9 +329,6 @@ static int xics_host_map(struct irq_domain *h, unsigned int virq, > >> > >>       pr_devel("xics: map virq %d, hwirq 0x%lx\n", virq, hw); > >> > >> -     /* Insert the interrupt mapping into the radix tree for fast lookup */ > >> -     irq_radix_revmap_insert(xics_host, virq, hw); > >> - > >>       /* They aren't all level sensitive but we just don't really know */ > >>       irq_set_status_flags(virq, IRQ_LEVEL); > > > > This looks like it belongs in a different patch, possibly "[02/12] > > irqdomain: Always update revmap when setting up a virq" no ? [...] > >> @@ -415,7 +415,9 @@ int irq_domain_associate_many(struct irq_domain *domain, unsigned int irq_base, > >>                               domain->revmap_data.linear.revmap[hwirq] = virq; > >>                       break; > >>               case IRQ_DOMAIN_MAP_TREE: > >> -                     irq_radix_revmap_insert(domain, virq, hwirq); > >> +                     mutex_lock(&revmap_trees_mutex); > >> +                     radix_tree_insert(&domain->revmap_data.tree, hwirq, irq_data); > >> +                     mutex_unlock(&revmap_trees_mutex); > >>                       break; > >>               } > > > > That too looks like it belongs in another patch. > > Okay, I'll take a look at those. Both moved to patch 2. g.