Commit a78769b8 authored by Daniel Mack's avatar Daniel Mack Committed by Dmitry Torokhov
Browse files

Input: rotary-encoder - defer calls gpio_to_irq()



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

Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent a2f25245
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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;