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

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
...@@ -1077,9 +1077,20 @@ static int sx150x_probe(struct i2c_client *client, ...@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment