pinctrl: nomadik: Use irq_has_action()
authorThomas Gleixner <tglx@linutronix.de>
Thu, 10 Dec 2020 19:25:51 +0000 (20:25 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 15 Dec 2020 15:19:32 +0000 (16:19 +0100)
Let the core code do the fiddling with irq_desc.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20201210194044.065003856@linutronix.de
drivers/pinctrl/nomadik/pinctrl-nomadik.c

index 657e35a..d4ea108 100644 (file)
@@ -948,8 +948,8 @@ static void nmk_gpio_dbg_show_one(struct seq_file *s,
                           (mode < 0) ? "unknown" : modes[mode]);
        } else {
                int irq = chip->to_irq(chip, offset);
-               struct irq_desc *desc = irq_to_desc(irq);
                const int pullidx = pull ? 1 : 0;
+               bool wake;
                int val;
                static const char * const pulls[] = {
                        "none        ",
@@ -969,8 +969,9 @@ static void nmk_gpio_dbg_show_one(struct seq_file *s,
                 * This races with request_irq(), set_irq_type(),
                 * and set_irq_wake() ... but those are "rare".
                 */
-               if (irq > 0 && desc && desc->action) {
+               if (irq > 0 && irq_has_action(irq)) {
                        char *trigger;
+                       bool wake;
 
                        if (nmk_chip->edge_rising & BIT(offset))
                                trigger = "edge-rising";
@@ -979,10 +980,10 @@ static void nmk_gpio_dbg_show_one(struct seq_file *s,
                        else
                                trigger = "edge-undefined";
 
+                       wake = !!(nmk_chip->real_wake & BIT(offset));
+
                        seq_printf(s, " irq-%d %s%s",
-                                  irq, trigger,
-                                  irqd_is_wakeup_set(&desc->irq_data)
-                                  ? " wakeup" : "");
+                                  irq, trigger, wake ? " wakeup" : "");
                }
        }
        clk_disable(nmk_chip->clk);