mfd/db8500-prcmu: use the irq_domain_add_simple()

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>
This commit is contained in:
Linus Walleij 2012-10-18 18:22:11 +02:00
parent f1d11f394f
commit a7238e4325
1 changed files with 9 additions and 3 deletions

View File

@ -2697,9 +2697,15 @@ static struct irq_domain_ops db8500_irq_ops = {
static int db8500_irq_init(struct device_node *np) static int db8500_irq_init(struct device_node *np)
{ {
db8500_irq_domain = irq_domain_add_legacy( int irq_base = -1;
np, NUM_PRCMU_WAKEUPS, IRQ_PRCMU_BASE,
0, &db8500_irq_ops, NULL); /* In the device tree case, just take some IRQs */
if (!np)
irq_base = IRQ_PRCMU_BASE;
db8500_irq_domain = irq_domain_add_simple(
np, NUM_PRCMU_WAKEUPS, irq_base,
&db8500_irq_ops, NULL);
if (!db8500_irq_domain) { if (!db8500_irq_domain) {
pr_err("Failed to create irqdomain\n"); pr_err("Failed to create irqdomain\n");