diff options
| -rw-r--r-- | drivers/input/keyboard/gpio_keys.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c index b8b4876ac8d3..f44f05b70ee0 100644 --- a/drivers/input/keyboard/gpio_keys.c +++ b/drivers/input/keyboard/gpio_keys.c | |||
| @@ -621,9 +621,12 @@ gpio_keys_get_devtree_pdata(struct device *dev) | |||
| 621 | int gpio = -1; | 621 | int gpio = -1; |
| 622 | enum of_gpio_flags flags; | 622 | enum of_gpio_flags flags; |
| 623 | 623 | ||
| 624 | button = &pdata->buttons[i++]; | ||
| 625 | |||
| 624 | if (!of_find_property(pp, "gpios", NULL)) { | 626 | if (!of_find_property(pp, "gpios", NULL)) { |
| 625 | button->irq = irq_of_parse_and_map(pp, 0); | 627 | button->irq = irq_of_parse_and_map(pp, 0); |
| 626 | if (button->irq == 0) { | 628 | if (button->irq == 0) { |
| 629 | i--; | ||
| 627 | pdata->nbuttons--; | 630 | pdata->nbuttons--; |
| 628 | dev_warn(dev, "Found button without gpios or irqs\n"); | 631 | dev_warn(dev, "Found button without gpios or irqs\n"); |
| 629 | continue; | 632 | continue; |
| @@ -640,8 +643,6 @@ gpio_keys_get_devtree_pdata(struct device *dev) | |||
| 640 | } | 643 | } |
| 641 | } | 644 | } |
| 642 | 645 | ||
| 643 | button = &pdata->buttons[i++]; | ||
| 644 | |||
| 645 | button->gpio = gpio; | 646 | button->gpio = gpio; |
| 646 | button->active_low = flags & OF_GPIO_ACTIVE_LOW; | 647 | button->active_low = flags & OF_GPIO_ACTIVE_LOW; |
| 647 | 648 | ||
