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>
diff --git a/drivers/mfd/stmpe.c b/drivers/mfd/stmpe.c
index c0df4b9..0061d1b 100644
--- a/drivers/mfd/stmpe.c
+++ b/drivers/mfd/stmpe.c
@@ -888,18 +888,14 @@
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;