Commit 51f58c68 authored by Linus Walleij's avatar Linus Walleij

pinctrl/nomadik: always use the simple irqdomain

Since the simple irqdomain will fall back to a linear domain
if the first_irq provided is <= 0, just use this, just make
sure the first_irq is negative in the device tree case.

Cc: Rob Herring <rob.herring@calxeda.com>
Acked-by: default avatarLee Jones <lee.jones@linaro.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent b7213702
...@@ -1281,6 +1281,7 @@ static int __devinit nmk_gpio_probe(struct platform_device *dev) ...@@ -1281,6 +1281,7 @@ static int __devinit nmk_gpio_probe(struct platform_device *dev)
struct clk *clk; struct clk *clk;
int secondary_irq; int secondary_irq;
void __iomem *base; void __iomem *base;
int irq_start = -1;
int irq; int irq;
int ret; int ret;
...@@ -1384,19 +1385,11 @@ static int __devinit nmk_gpio_probe(struct platform_device *dev) ...@@ -1384,19 +1385,11 @@ static int __devinit nmk_gpio_probe(struct platform_device *dev)
platform_set_drvdata(dev, nmk_chip); platform_set_drvdata(dev, nmk_chip);
if (np) { if (!np)
/* The DT case will just grab a set of IRQ numbers */
nmk_chip->domain = irq_domain_add_linear(np, NMK_GPIO_PER_CHIP,
&nmk_gpio_irq_simple_ops, nmk_chip);
} else {
/* Non-DT legacy mode, use hardwired IRQ numbers */
int irq_start;
irq_start = NOMADIK_GPIO_TO_IRQ(pdata->first_gpio); irq_start = NOMADIK_GPIO_TO_IRQ(pdata->first_gpio);
nmk_chip->domain = irq_domain_add_simple(NULL, nmk_chip->domain = irq_domain_add_simple(NULL,
NMK_GPIO_PER_CHIP, irq_start, NMK_GPIO_PER_CHIP, irq_start,
&nmk_gpio_irq_simple_ops, nmk_chip); &nmk_gpio_irq_simple_ops, nmk_chip);
}
if (!nmk_chip->domain) { if (!nmk_chip->domain) {
dev_err(&dev->dev, "failed to create irqdomain\n"); dev_err(&dev->dev, "failed to create irqdomain\n");
ret = -ENOSYS; ret = -ENOSYS;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment