Skip to content

Commit

Permalink
mfd/ab8500-core: use irq_domain_add_simple()
Browse files Browse the repository at this point in the history
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>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
  • Loading branch information
Linus Walleij committed Nov 5, 2012
1 parent 694e33a commit f1d11f3
Showing 1 changed file with 4 additions and 9 deletions.
13 changes: 4 additions & 9 deletions drivers/mfd/ab8500-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand Down

0 comments on commit f1d11f3

Please sign in to comment.