[patch 17/19] genirq: Switch dummy_chip and no_irq_chip to new functions

Thomas Gleixner
2010-09-27T12:46:32Z

[-- Attachment #1: genirq-fixup-dummy-chip.patch --]
[-- Type: text/plain, Size: 1966 bytes --]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
kernel/irq/handle.c | 44 ++++++++++++++++++++++++--------------------
1 file changed, 24 insertions(+), 20 deletions(-)

Index: linux-2.6-tip/kernel/irq/handle.c
===================================================================
--- linux-2.6-tip.orig/kernel/irq/handle.c
+++ linux-2.6-tip/kernel/irq/handle.c
@@ -303,37 +303,41 @@ void clear_kstat_irqs(struct irq_desc *d
* What should we do if we get a hw irq event on an illegal vector?
* Each architecture has to answer this themself.
*/
-static void ack_bad(unsigned int irq)
+static void ack_bad(struct irq_data *data)
{
- struct irq_desc *desc = irq_to_desc(irq);
+ struct irq_desc *desc = irq_data_to_desc(data);

- print_irq_desc(irq, desc);
- ack_bad_irq(irq);
+ print_irq_desc(data->irq, desc);
+ ack_bad_irq(data->irq);
}

/*
* NOP functions
*/
-static void noop(unsigned int irq)
+static void noop(struct irq_data *data)
{
}

-static unsigned int noop_ret(unsigned int irq)
+static unsigned int noop_ret(struct irq_data *data)
{
return 0;
}

+static void compat_noop(unsigned int irq)
+{
+}
+
/*
* Generic no controller implementation
*/
struct irq_chip no_irq_chip = {
.name = "none",
- .startup = noop_ret,
- .shutdown = noop,
- .enable = noop,
- .disable = noop,
- .ack = ack_bad,
- .end = noop,
+ .irq_startup = noop_ret,
+ .irq_shutdown = noop,
+ .irq_enable = noop,
+ .irq_disable = noop,
+ .irq_ack = ack_bad,
+ .end = compat_noop,
};

/*
@@ -342,14 +346,14 @@ struct irq_chip no_irq_chip = {
*/
struct irq_chip dummy_irq_chip = {
.name = "dummy",
- .startup = noop_ret,
- .shutdown = noop,
- .enable = noop,
- .disable = noop,
- .ack = noop,
- .mask = noop,
- .unmask = noop,
- .end = noop,
+ .irq_startup = noop_ret,
+ .irq_shutdown = noop,
+ .irq_enable = noop,
+ .irq_disable = noop,
+ .irq_ack = noop,
+ .irq_mask = noop,
+ .irq_unmask = noop,
+ .end = compat_noop,
};

/*