summaryrefslogtreecommitdiffstats
path: root/kernel/irq/internals.h
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-02-05 15:20:04 +0100
committerThomas Gleixner <tglx@linutronix.de>2011-02-19 12:58:18 +0100
commitf230b6d5c48f8d12f4dfa1f8b5ab0b0320076d21 (patch)
treed4d30f77ab196930dd2d2982e90b1f2b5fd9bbe2 /kernel/irq/internals.h
parentgenirq: Add state field to irq_data (diff)
downloadlinux-f230b6d5c48f8d12f4dfa1f8b5ab0b0320076d21.tar.xz
linux-f230b6d5c48f8d12f4dfa1f8b5ab0b0320076d21.zip
genirq: Add IRQ_MOVE_PENDING to irq_data.state
chip implementations need to know about it. Keep status in sync until all users are fixed. Accessor function: irqd_is_setaffinity_pending(irqdata) Coders who access them directly will be tracked down and slapped with stinking trouts. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/irq/internals.h')
-rw-r--r--kernel/irq/internals.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/kernel/irq/internals.h b/kernel/irq/internals.h
index cef0849dcfa5..e93e6090cd47 100644
--- a/kernel/irq/internals.h
+++ b/kernel/irq/internals.h
@@ -125,6 +125,21 @@ static inline void chip_bus_sync_unlock(struct irq_desc *desc)
}
/*
+ * Manipulation functions for irq_data.state
+ */
+static inline void irqd_set_move_pending(struct irq_data *d)
+{
+ d->state_use_accessors |= IRQD_SETAFFINITY_PENDING;
+ irq_compat_set_move_pending(irq_data_to_desc(d));
+}
+
+static inline void irqd_clr_move_pending(struct irq_data *d)
+{
+ d->state_use_accessors &= ~IRQD_SETAFFINITY_PENDING;
+ irq_compat_clr_move_pending(irq_data_to_desc(d));
+}
+
+/*
* Debugging printout:
*/