Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 080c489d authored by Andrey Smirnov's avatar Andrey Smirnov Committed by Linus Walleij
Browse files

pinctrl-sx150x: Use handle_bad_irq instead of handle_edge_irq



Althought the function passed as a "handler" during GPIO chip
instantiation is not going to ever be called, specifying handle_edge_irq
there makes for a rather confusing read, both because no "ack" callback
in specified for irqchip and because there's no acking action is
necessary.

Specify handle_bad_irq instead a make a note of the situation. This
commit should be a no-op behaviour wise.

Tested-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
Acked-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
Signed-off-by: default avatarAndrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 05a90cc7
Loading
Loading
Loading
Loading
+12 −1
Original line number Original line Diff line number Diff line
@@ -1077,9 +1077,20 @@ static int sx150x_probe(struct i2c_client *client,
		pctl->irq.masked = ~0;
		pctl->irq.masked = ~0;
		pctl->irq.sense = 0;
		pctl->irq.sense = 0;


		/*
		 * Because sx150x_irq_threaded_fn invokes all of the
		 * nested interrrupt handlers via handle_nested_irq,
		 * any "handler" passed to gpiochip_irqchip_add()
		 * below is going to be ignored, so the choice of the
		 * function does not matter that much.
		 *
		 * We set it to handle_bad_irq to avoid confusion,
		 * plus it will be instantly noticeable if it is ever
		 * called (should not happen)
		 */
		ret = gpiochip_irqchip_add(&pctl->gpio,
		ret = gpiochip_irqchip_add(&pctl->gpio,
					   &pctl->irq_chip, 0,
					   &pctl->irq_chip, 0,
					   handle_edge_irq, IRQ_TYPE_NONE);
					   handle_bad_irq, IRQ_TYPE_NONE);
		if (ret) {
		if (ret) {
			dev_err(dev, "could not connect irqchip to gpiochip\n");
			dev_err(dev, "could not connect irqchip to gpiochip\n");
			return ret;
			return ret;