Message ID | 1350580755-8516-1-git-send-email-linus.walleij@stericsson.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Linus, On Thu, Oct 18, 2012 at 07:19:15PM +0200, Linus Walleij wrote: > From: Linus Walleij <linus.walleij@linaro.org> > > To be able to use SPARSE_IRQ while yet not using device tree, > we need to use irq_domain_add_simple() that will allocate > descriptors for the IRQs in the non-DT case, and fall back > to using the linear irqdomain in the DT case. > > Cc: Lee Jones <lee.jones@linaro.org> > Cc: Samuel Ortiz <sameo@linux.intel.com> > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> In case it's not too late: Acked-by: Samuel Ortiz <sameo@linux.intel.com> Cheers, Samuel.
On Mon, Nov 5, 2012 at 11:59 PM, Samuel Ortiz <sameo@linux.intel.com> wrote: > On Thu, Oct 18, 2012 at 07:19:15PM +0200, Linus Walleij wrote: >> From: Linus Walleij <linus.walleij@linaro.org> >> >> To be able to use SPARSE_IRQ while yet not using device tree, >> we need to use irq_domain_add_simple() that will allocate >> descriptors for the IRQs in the non-DT case, and fall back >> to using the linear irqdomain in the DT case. >> >> Cc: Lee Jones <lee.jones@linaro.org> >> Cc: Samuel Ortiz <sameo@linux.intel.com> >> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> > In case it's not too late: > > Acked-by: Samuel Ortiz <sameo@linux.intel.com> Too late for my pull request to ARM SoC, but the important thing is that the ARM SoC people see that you're OK with it so they can pull in my patches :-) Thanks Sam! Yours, Linus Walleij
diff --git a/drivers/mfd/ab8500-core.c b/drivers/mfd/ab8500-core.c index 1667c77..547fff4 100644 --- a/drivers/mfd/ab8500-core.c +++ b/drivers/mfd/ab8500-core.c @@ -565,15 +565,10 @@ static int ab8500_irq_init(struct ab8500 *ab8500, struct device_node *np) else num_irqs = AB8500_NR_IRQS; - if (ab8500->irq_base) { - ab8500->domain = irq_domain_add_legacy( - NULL, num_irqs, ab8500->irq_base, - 0, &ab8500_irq_ops, ab8500); - } - else { - ab8500->domain = irq_domain_add_linear( - np, num_irqs, &ab8500_irq_ops, ab8500); - } + /* If ->irq_base is zero this will give a linear mapping */ + ab8500->domain = irq_domain_add_simple(NULL, + num_irqs, ab8500->irq_base, + &ab8500_irq_ops, ab8500); if (!ab8500->domain) { dev_err(ab8500->dev, "Failed to create irqdomain\n");