Don't call gpio_to_irq() on GPIOs before gpio_request() succeeded on
them. This avoids Ooopses with incorrect DT bindings.

Signed-off-by: Daniel Mack <zon...@gmail.com>
---
 drivers/input/misc/rotary_encoder.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/input/misc/rotary_encoder.c 
b/drivers/input/misc/rotary_encoder.c
index f07f784..00a7bda 100644
--- a/drivers/input/misc/rotary_encoder.c
+++ b/drivers/input/misc/rotary_encoder.c
@@ -163,8 +163,6 @@ static int __devinit rotary_encoder_probe(struct 
platform_device *pdev)
 
        encoder->input = input;
        encoder->pdata = pdata;
-       encoder->irq_a = gpio_to_irq(pdata->gpio_a);
-       encoder->irq_b = gpio_to_irq(pdata->gpio_b);
 
        /* create and register the input driver */
        input->name = pdev->name;
@@ -215,6 +213,9 @@ static int __devinit rotary_encoder_probe(struct 
platform_device *pdev)
                goto exit_free_gpio_a;
        }
 
+       encoder->irq_a = gpio_to_irq(pdata->gpio_a);
+       encoder->irq_b = gpio_to_irq(pdata->gpio_b);
+
        /* request the IRQs */
        if (pdata->half_period) {
                handler = &rotary_encoder_half_period_irq;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to