diff options
author | Jin Yao <yao.jin@intel.com> | 2014-05-15 11:28:47 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2014-05-22 18:01:53 -0400 |
commit | 605a7bca7cf39cbfa835022e9c29b6a4bb980281 (patch) | |
tree | d064996664d6dd79e65a9898ea4d6b5cc5d1b126 | |
parent | 20482d3279226d2d2802647ffa3ce82e511b74d7 (diff) |
pinctrl: baytrail: Register GPIO chip after chip->to_irq is set
If chip->to_irq is NULL ACPI GPIO helpers don't register GPIO event
handlers thus preventing any ACPI GPIO triggered events. Solve this by
calling gpiochip_add() after we have set up drivers chip->to_irq hook.
Signed-off-by: Jin Yao <yao.jin@intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | drivers/pinctrl/pinctrl-baytrail.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/pinctrl/pinctrl-baytrail.c b/drivers/pinctrl/pinctrl-baytrail.c index 447f1dc25ea6..7c65c9dab215 100644 --- a/drivers/pinctrl/pinctrl-baytrail.c +++ b/drivers/pinctrl/pinctrl-baytrail.c | |||
@@ -527,12 +527,6 @@ static int byt_gpio_probe(struct platform_device *pdev) | |||
527 | gc->can_sleep = false; | 527 | gc->can_sleep = false; |
528 | gc->dev = dev; | 528 | gc->dev = dev; |
529 | 529 | ||
530 | ret = gpiochip_add(gc); | ||
531 | if (ret) { | ||
532 | dev_err(&pdev->dev, "failed adding byt-gpio chip\n"); | ||
533 | return ret; | ||
534 | } | ||
535 | |||
536 | /* set up interrupts */ | 530 | /* set up interrupts */ |
537 | irq_rc = platform_get_resource(pdev, IORESOURCE_IRQ, 0); | 531 | irq_rc = platform_get_resource(pdev, IORESOURCE_IRQ, 0); |
538 | if (irq_rc && irq_rc->start) { | 532 | if (irq_rc && irq_rc->start) { |
@@ -550,6 +544,12 @@ static int byt_gpio_probe(struct platform_device *pdev) | |||
550 | irq_set_chained_handler(hwirq, byt_gpio_irq_handler); | 544 | irq_set_chained_handler(hwirq, byt_gpio_irq_handler); |
551 | } | 545 | } |
552 | 546 | ||
547 | ret = gpiochip_add(gc); | ||
548 | if (ret) { | ||
549 | dev_err(&pdev->dev, "failed adding byt-gpio chip\n"); | ||
550 | return ret; | ||
551 | } | ||
552 | |||
553 | pm_runtime_enable(dev); | 553 | pm_runtime_enable(dev); |
554 | 554 | ||
555 | return 0; | 555 | return 0; |