PM: wakeirq: Set IRQF_NO_AUTOEN when requesting the IRQ
authorTian Tao <tiantao6@hisilicon.com>
Thu, 20 May 2021 07:34:58 +0000 (15:34 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 24 May 2021 14:06:17 +0000 (16:06 +0200)
request_irq() after setting IRQ_NOAUTOEN as below
irq_set_status_flags(irq, IRQ_NOAUTOEN);
request_irq(dev, irq...);
can be replaced by request_irq() with IRQF_NO_AUTOEN flag.

This change is just to simplify the code, no actual functional
changes.

Signed-off-by: Tian Tao <tiantao6@hisilicon.com>
Reviewed-by: Tony Lindgren <tony@atomide.com>
[ rjw: Subject ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/power/wakeirq.c

index 8e021082dba8ce0a3b43c16353e18670bc9fb704..3bad3266a2ad37dbf6ea4794ff2de235a2f8d3e0 100644 (file)
@@ -182,7 +182,6 @@ int dev_pm_set_dedicated_wake_irq(struct device *dev, int irq)
 
        wirq->dev = dev;
        wirq->irq = irq;
-       irq_set_status_flags(irq, IRQ_NOAUTOEN);
 
        /* Prevent deferred spurious wakeirqs with disable_irq_nosync() */
        irq_set_status_flags(irq, IRQ_DISABLE_UNLAZY);
@@ -192,7 +191,8 @@ int dev_pm_set_dedicated_wake_irq(struct device *dev, int irq)
         * so we use a threaded irq.
         */
        err = request_threaded_irq(irq, NULL, handle_threaded_wake_irq,
-                                  IRQF_ONESHOT, wirq->name, wirq);
+                                  IRQF_ONESHOT | IRQF_NO_AUTOEN,
+                                  wirq->name, wirq);
        if (err)
                goto err_free_name;