diff options
author | Lee Jones <lee.jones@linaro.org> | 2012-11-23 15:19:29 +0000 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2012-11-26 12:11:21 +0100 |
commit | b20a43715e675815d0a426f05a7607ba099136aa (patch) | |
tree | 84dce3b2e8cb8ffa127406fd7a603692667b6b46 /drivers/mfd/stmpe.c | |
parent | 3f9be35bd9090eaa2f68ed9b24efdbf3abcf4b28 (diff) |
mfd: Simplify IRQ domain registration code in STMPE
Historically, a driver would have to decide whether it required
a Linear or Legacy IRQ domain when registering one. This can end
up as quite a lot of code. A new Simple call now exists which
simplifies this process. Let's make use of it here.
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd/stmpe.c')
-rw-r--r-- | drivers/mfd/stmpe.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/mfd/stmpe.c b/drivers/mfd/stmpe.c index c0df4b9d51c..0061d1bc971 100644 --- a/drivers/mfd/stmpe.c +++ b/drivers/mfd/stmpe.c @@ -888,18 +888,14 @@ static struct irq_domain_ops stmpe_irq_ops = { static int __devinit stmpe_irq_init(struct stmpe *stmpe, struct device_node *np) { - int base = stmpe->irq_base; + int base = 0; int num_irqs = stmpe->variant->num_irqs; - if (base) { - stmpe->domain = irq_domain_add_legacy( - np, num_irqs, base, 0, &stmpe_irq_ops, stmpe); - } - else { - stmpe->domain = irq_domain_add_linear( - np, num_irqs, &stmpe_irq_ops, stmpe); - } + if (!np) + base = stmpe->irq_base; + stmpe->domain = irq_domain_add_simple(np, num_irqs, base, + &stmpe_irq_ops, stmpe); if (!stmpe->domain) { dev_err(stmpe->dev, "Failed to create irqdomain\n"); return -ENOSYS; |