summaryrefslogtreecommitdiffstats
path: root/kernel/irq/chip.c
diff options
context:
space:
mode:
authorThomas Gleixner2010-09-27 14:45:41 +0200
committerThomas Gleixner2010-10-04 12:43:46 +0200
commitc96b3b3c448592a0b87ef20306deb8b1fb4878c7 (patch)
tree744c6879a585b9ab07ed51315930f8a673c09aed /kernel/irq/chip.c
parentgenirq: Provide compat handling for chip->startup() (diff)
downloadkernel-qcow2-linux-c96b3b3c448592a0b87ef20306deb8b1fb4878c7.tar.gz
kernel-qcow2-linux-c96b3b3c448592a0b87ef20306deb8b1fb4878c7.tar.xz
kernel-qcow2-linux-c96b3b3c448592a0b87ef20306deb8b1fb4878c7.zip
genirq: Provide compat handling for chip->set_affinity()
Wrap the old chip function set_affinity() until the migration is complete and the old chip functions are removed. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> LKML-Reference: <20100927121842.732894108@linutronix.de> Reviewed-by: H. Peter Anvin <hpa@zytor.com> Reviewed-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/irq/chip.c')
-rw-r--r--kernel/irq/chip.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
index cce85f0734b0..df51792d9fd3 100644
--- a/kernel/irq/chip.c
+++ b/kernel/irq/chip.c
@@ -370,6 +370,12 @@ static unsigned int compat_irq_startup(struct irq_data *data)
return data->chip->startup(data->irq);
}
+static int compat_irq_set_affinity(struct irq_data *data,
+ const struct cpumask *dest, bool force)
+{
+ return data->chip->set_affinity(data->irq, dest);
+}
+
static void compat_bus_lock(struct irq_data *data)
{
data->chip->bus_lock(data->irq);
@@ -436,6 +442,8 @@ void irq_chip_set_defaults(struct irq_chip *chip)
chip->irq_mask_ack = compat_irq_mask_ack;
if (chip->eoi)
chip->irq_eoi = compat_irq_eoi;
+ if (chip->set_affinity)
+ chip->irq_set_affinity = compat_irq_set_affinity;
}
static inline void mask_ack_irq(struct irq_desc *desc)