]> git.karo-electronics.de Git - linux-beck.git/commitdiff
genirq: Move IRQ_SUSPENDED to core
authorThomas Gleixner <tglx@linutronix.de>
Tue, 8 Feb 2011 11:44:58 +0000 (12:44 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 19 Feb 2011 11:58:18 +0000 (12:58 +0100)
No users outside of core.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/linux/irq.h
kernel/irq/internals.h
kernel/irq/manage.c
kernel/irq/pm.c

index 9800bac4c39855250e4927ee228fd4e3527ab272..3ce45c257edb3ee1c41ac3ac9a083c65be4141ee 100644 (file)
@@ -60,7 +60,6 @@ typedef       void (*irq_flow_handler_t)(unsigned int irq,
 #define IRQ_MASKED             0x00002000      /* DEPRECATED */
 #endif
 
-
 #define IRQ_LEVEL              0x00004000      /* IRQ level triggered */
 #define IRQ_PER_CPU            0x00010000      /* IRQ is per CPU */
 #define IRQ_NOPROBE            0x00020000      /* IRQ is not valid for probing */
@@ -71,7 +70,6 @@ typedef       void (*irq_flow_handler_t)(unsigned int irq,
 #define IRQ_NO_BALANCING       0x00400000      /* IRQ is excluded from balancing */
 #define IRQ_MOVE_PCNTXT                0x01000000      /* IRQ migration from process context */
 #define IRQ_AFFINITY_SET       0x02000000      /* IRQ affinity was set from userspace*/
-#define IRQ_SUSPENDED          0x04000000      /* IRQ has gone through suspend sequence */
 #define IRQ_NESTED_THREAD      0x10000000      /* IRQ is nested into another, no own handler thread */
 
 #define IRQF_MODIFY_MASK       \
index 3f2fcc194dcc4de51727d122edffff51e544e9d0..46889119e6a6381a649c69fc9e51db6116ff4958 100644 (file)
@@ -48,6 +48,7 @@ enum {
  * IRQS_DISABLED               - irq is disabled
  * IRQS_PENDING                        - irq is pending and replayed later
  * IRQS_MASKED                 - irq is masked
+ * IRQS_SUSPENDED              - irq is suspended
  */
 enum {
        IRQS_AUTODETECT         = 0x00000001,
@@ -60,6 +61,7 @@ enum {
        IRQS_DISABLED           = 0x00000100,
        IRQS_PENDING            = 0x00000200,
        IRQS_MASKED             = 0x00000400,
+       IRQS_SUSPENDED          = 0x00000800,
 };
 
 #define irq_data_to_desc(data) container_of(data, struct irq_desc, irq_data)
index 83fd20194e5bdcda98e96e01385b07315e3f58f3..b912de4ff4de0138e334ebf1fb6500ddc076e8a2 100644 (file)
@@ -326,7 +326,7 @@ void __disable_irq(struct irq_desc *desc, unsigned int irq, bool suspend)
        if (suspend) {
                if (!desc->action || (desc->action->flags & IRQF_NO_SUSPEND))
                        return;
-               desc->status |= IRQ_SUSPENDED;
+               desc->istate |= IRQS_SUSPENDED;
        }
 
        if (!desc->depth++)
@@ -388,7 +388,7 @@ EXPORT_SYMBOL(disable_irq);
 void __enable_irq(struct irq_desc *desc, unsigned int irq, bool resume)
 {
        if (resume) {
-               if (!(desc->status & IRQ_SUSPENDED)) {
+               if (!(desc->istate & IRQS_SUSPENDED)) {
                        if (!desc->action)
                                return;
                        if (!(desc->action->flags & IRQF_FORCE_RESUME))
@@ -396,7 +396,7 @@ void __enable_irq(struct irq_desc *desc, unsigned int irq, bool resume)
                        /* Pretend that it got disabled ! */
                        desc->depth++;
                }
-               desc->status &= ~IRQ_SUSPENDED;
+               desc->istate &= ~IRQS_SUSPENDED;
        }
 
        switch (desc->depth) {
@@ -405,7 +405,7 @@ void __enable_irq(struct irq_desc *desc, unsigned int irq, bool resume)
                WARN(1, KERN_WARNING "Unbalanced enable for IRQ %d\n", irq);
                break;
        case 1: {
-               if (desc->status & IRQ_SUSPENDED)
+               if (desc->istate & IRQS_SUSPENDED)
                        goto err_out;
                /* Prevent probing on this irq: */
                desc->status |= IRQ_NOPROBE;
index d7389418e91ac8fbc600e38060050fe70f64b1bc..d81337fc1cffb681176445d2774c9e7690711e1a 100644 (file)
@@ -18,7 +18,7 @@
  * During system-wide suspend or hibernation device drivers need to be prevented
  * from receiving interrupts and this function is provided for this purpose.
  * It marks all interrupt lines in use, except for the timer ones, as disabled
- * and sets the IRQ_SUSPENDED flag for each of them.
+ * and sets the IRQS_SUSPENDED flag for each of them.
  */
 void suspend_device_irqs(void)
 {
@@ -34,7 +34,7 @@ void suspend_device_irqs(void)
        }
 
        for_each_irq_desc(irq, desc)
-               if (desc->status & IRQ_SUSPENDED)
+               if (desc->istate & IRQS_SUSPENDED)
                        synchronize_irq(irq);
 }
 EXPORT_SYMBOL_GPL(suspend_device_irqs);
@@ -43,7 +43,7 @@ EXPORT_SYMBOL_GPL(suspend_device_irqs);
  * resume_device_irqs - enable interrupt lines disabled by suspend_device_irqs()
  *
  * Enable all interrupt lines previously disabled by suspend_device_irqs() that
- * have the IRQ_SUSPENDED flag set.
+ * have the IRQS_SUSPENDED flag set.
  */
 void resume_device_irqs(void)
 {