diff options
| -rw-r--r-- | drivers/pinctrl/pinctrl-nomadik.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/pinctrl/pinctrl-nomadik.c b/drivers/pinctrl/pinctrl-nomadik.c index f640f13f73ca..01aea1c3b5fa 100644 --- a/drivers/pinctrl/pinctrl-nomadik.c +++ b/drivers/pinctrl/pinctrl-nomadik.c | |||
| @@ -1281,6 +1281,7 @@ static int __devinit nmk_gpio_probe(struct platform_device *dev) | |||
| 1281 | struct clk *clk; | 1281 | struct clk *clk; |
| 1282 | int secondary_irq; | 1282 | int secondary_irq; |
| 1283 | void __iomem *base; | 1283 | void __iomem *base; |
| 1284 | int irq_start = -1; | ||
| 1284 | int irq; | 1285 | int irq; |
| 1285 | int ret; | 1286 | int ret; |
| 1286 | 1287 | ||
| @@ -1384,19 +1385,11 @@ static int __devinit nmk_gpio_probe(struct platform_device *dev) | |||
| 1384 | 1385 | ||
| 1385 | platform_set_drvdata(dev, nmk_chip); | 1386 | platform_set_drvdata(dev, nmk_chip); |
| 1386 | 1387 | ||
| 1387 | if (np) { | 1388 | if (!np) |
| 1388 | /* The DT case will just grab a set of IRQ numbers */ | ||
| 1389 | nmk_chip->domain = irq_domain_add_linear(np, NMK_GPIO_PER_CHIP, | ||
| 1390 | &nmk_gpio_irq_simple_ops, nmk_chip); | ||
| 1391 | } else { | ||
| 1392 | /* Non-DT legacy mode, use hardwired IRQ numbers */ | ||
| 1393 | int irq_start; | ||
| 1394 | |||
| 1395 | irq_start = NOMADIK_GPIO_TO_IRQ(pdata->first_gpio); | 1389 | irq_start = NOMADIK_GPIO_TO_IRQ(pdata->first_gpio); |
| 1396 | nmk_chip->domain = irq_domain_add_simple(NULL, | 1390 | nmk_chip->domain = irq_domain_add_simple(NULL, |
| 1397 | NMK_GPIO_PER_CHIP, irq_start, | 1391 | NMK_GPIO_PER_CHIP, irq_start, |
| 1398 | &nmk_gpio_irq_simple_ops, nmk_chip); | 1392 | &nmk_gpio_irq_simple_ops, nmk_chip); |
| 1399 | } | ||
| 1400 | if (!nmk_chip->domain) { | 1393 | if (!nmk_chip->domain) { |
| 1401 | dev_err(&dev->dev, "failed to create irqdomain\n"); | 1394 | dev_err(&dev->dev, "failed to create irqdomain\n"); |
| 1402 | ret = -ENOSYS; | 1395 | ret = -ENOSYS; |
