diff options
| -rw-r--r-- | drivers/input/misc/rotary_encoder.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/input/misc/rotary_encoder.c b/drivers/input/misc/rotary_encoder.c index 3b9f588fc747..4ae07935985e 100644 --- a/drivers/input/misc/rotary_encoder.c +++ b/drivers/input/misc/rotary_encoder.c | |||
| @@ -152,6 +152,13 @@ static int __devinit rotary_encoder_probe(struct platform_device *pdev) | |||
| 152 | goto exit_unregister_input; | 152 | goto exit_unregister_input; |
| 153 | } | 153 | } |
| 154 | 154 | ||
| 155 | err = gpio_direction_input(pdata->gpio_a); | ||
| 156 | if (err) { | ||
| 157 | dev_err(&pdev->dev, "unable to set GPIO %d for input\n", | ||
| 158 | pdata->gpio_a); | ||
| 159 | goto exit_unregister_input; | ||
| 160 | } | ||
| 161 | |||
| 155 | err = gpio_request(pdata->gpio_b, DRV_NAME); | 162 | err = gpio_request(pdata->gpio_b, DRV_NAME); |
| 156 | if (err) { | 163 | if (err) { |
| 157 | dev_err(&pdev->dev, "unable to request GPIO %d\n", | 164 | dev_err(&pdev->dev, "unable to request GPIO %d\n", |
| @@ -159,6 +166,13 @@ static int __devinit rotary_encoder_probe(struct platform_device *pdev) | |||
| 159 | goto exit_free_gpio_a; | 166 | goto exit_free_gpio_a; |
| 160 | } | 167 | } |
| 161 | 168 | ||
| 169 | err = gpio_direction_input(pdata->gpio_b); | ||
| 170 | if (err) { | ||
| 171 | dev_err(&pdev->dev, "unable to set GPIO %d for input\n", | ||
| 172 | pdata->gpio_b); | ||
| 173 | goto exit_free_gpio_a; | ||
| 174 | } | ||
| 175 | |||
| 162 | /* request the IRQs */ | 176 | /* request the IRQs */ |
| 163 | err = request_irq(encoder->irq_a, &rotary_encoder_irq, | 177 | err = request_irq(encoder->irq_a, &rotary_encoder_irq, |
| 164 | IORESOURCE_IRQ_HIGHEDGE | IORESOURCE_IRQ_LOWEDGE, | 178 | IORESOURCE_IRQ_HIGHEDGE | IORESOURCE_IRQ_LOWEDGE, |
