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: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Родитель
b721370266
Коммит
51f58c68a3
|
@ -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_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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче