diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2010-09-27 08:45:41 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-10-04 06:43:46 -0400 |
commit | c96b3b3c448592a0b87ef20306deb8b1fb4878c7 (patch) | |
tree | 744c6879a585b9ab07ed51315930f8a673c09aed /kernel/irq/chip.c | |
parent | 37e12df709f09eac17314d79a52190ac46746e33 (diff) |
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.c | 8 |
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) | |||
370 | return data->chip->startup(data->irq); | 370 | return data->chip->startup(data->irq); |
371 | } | 371 | } |
372 | 372 | ||
373 | static int compat_irq_set_affinity(struct irq_data *data, | ||
374 | const struct cpumask *dest, bool force) | ||
375 | { | ||
376 | return data->chip->set_affinity(data->irq, dest); | ||
377 | } | ||
378 | |||
373 | static void compat_bus_lock(struct irq_data *data) | 379 | static void compat_bus_lock(struct irq_data *data) |
374 | { | 380 | { |
375 | data->chip->bus_lock(data->irq); | 381 | data->chip->bus_lock(data->irq); |
@@ -436,6 +442,8 @@ void irq_chip_set_defaults(struct irq_chip *chip) | |||
436 | chip->irq_mask_ack = compat_irq_mask_ack; | 442 | chip->irq_mask_ack = compat_irq_mask_ack; |
437 | if (chip->eoi) | 443 | if (chip->eoi) |
438 | chip->irq_eoi = compat_irq_eoi; | 444 | chip->irq_eoi = compat_irq_eoi; |
445 | if (chip->set_affinity) | ||
446 | chip->irq_set_affinity = compat_irq_set_affinity; | ||
439 | } | 447 | } |
440 | 448 | ||
441 | static inline void mask_ack_irq(struct irq_desc *desc) | 449 | static inline void mask_ack_irq(struct irq_desc *desc) |