Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+3 −10
Original line number Diff line number Diff line
@@ -1281,6 +1281,7 @@ static int __devinit nmk_gpio_probe(struct platform_device *dev)
	struct clk *clk;
	int secondary_irq;
	void __iomem *base;
	int irq_start = -1;
	int irq;
	int ret;

@@ -1384,19 +1385,11 @@ static int __devinit nmk_gpio_probe(struct platform_device *dev)

	platform_set_drvdata(dev, nmk_chip);

	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;

	if (!np)
		irq_start = NOMADIK_GPIO_TO_IRQ(pdata->first_gpio);
	nmk_chip->domain = irq_domain_add_simple(NULL,
				NMK_GPIO_PER_CHIP, irq_start,
				&nmk_gpio_irq_simple_ops, nmk_chip);
	}
	if (!nmk_chip->domain) {
		dev_err(&dev->dev, "failed to create irqdomain\n");
		ret = -ENOSYS;