genirq: Provide compat handling for chip->set_wake()
authorThomas Gleixner <tglx@linutronix.de>
Mon, 27 Sep 2010 12:45:50 +0000 (12:45 +0000)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 4 Oct 2010 10:43:48 +0000 (12:43 +0200)
Wrap the old chip function set_wake() 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.927527393@linutronix.de>
Reviewed-by: H. Peter Anvin <hpa@zytor.com>
Reviewed-by: Ingo Molnar <mingo@elte.hu>
kernel/irq/chip.c
kernel/irq/manage.c

index b7dd02a99c8026493a481922b5757814889c5285..8775dd39ab3d348bd275b43f23a9736034323527 100644 (file)
@@ -381,6 +381,11 @@ static int compat_irq_set_type(struct irq_data *data, unsigned int type)
        return data->chip->set_type(data->irq, type);
 }
 
+static int compat_irq_set_wake(struct irq_data *data, unsigned int on)
+{
+       return data->chip->set_wake(data->irq, on);
+}
+
 static void compat_bus_lock(struct irq_data *data)
 {
        data->chip->bus_lock(data->irq);
@@ -451,6 +456,8 @@ void irq_chip_set_defaults(struct irq_chip *chip)
                chip->irq_set_affinity = compat_irq_set_affinity;
        if (chip->set_type)
                chip->irq_set_type = compat_irq_set_type;
+       if (chip->set_wake)
+               chip->irq_set_wake = compat_irq_set_wake;
 }
 
 static inline void mask_ack_irq(struct irq_desc *desc)
index 3618362b3d8d0ba73ff29220613caad42e0a9b9f..644e8d5fa367e74c3cc06a2114f2e283c701b0e6 100644 (file)
@@ -337,8 +337,8 @@ static int set_irq_wake_real(unsigned int irq, unsigned int on)
        struct irq_desc *desc = irq_to_desc(irq);
        int ret = -ENXIO;
 
-       if (desc->irq_data.chip->set_wake)
-               ret = desc->irq_data.chip->set_wake(irq, on);
+       if (desc->irq_data.chip->irq_set_wake)
+               ret = desc->irq_data.chip->irq_set_wake(&desc->irq_data, on);
 
        return ret;
 }