From 423abeec268f54ea675c9e30dc22f1639da8a478 Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Sun, 14 Dec 2008 12:02:25 +0000 Subject: [PATCH] --- yaml --- r: 120123 b: refs/heads/master c: bd0a22d21f26864792a0e49c20f5bd25d6c335e4 h: refs/heads/master i: 120121: 45e51812394a094e49cdda03a8ab14a3c5b6c3cb 120119: c849bd27f095c716a2df39b6cbb48208033c5176 v: v3 --- [refs] | 2 +- trunk/arch/sh/boards/mach-systemh/irq.c | 37 ++++--------------------- 2 files changed, 7 insertions(+), 32 deletions(-) diff --git a/[refs] b/[refs] index b838cad149d7..40f4f17eadb5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: be729fd8900f0026238539de46d867d232d1e913 +refs/heads/master: bd0a22d21f26864792a0e49c20f5bd25d6c335e4 diff --git a/trunk/arch/sh/boards/mach-systemh/irq.c b/trunk/arch/sh/boards/mach-systemh/irq.c index 538406872a89..986a0e71d220 100644 --- a/trunk/arch/sh/boards/mach-systemh/irq.c +++ b/trunk/arch/sh/boards/mach-systemh/irq.c @@ -12,8 +12,8 @@ #include #include #include +#include -#include #include #include @@ -24,35 +24,17 @@ static unsigned long *systemh_irq_mask_register = (unsigned long *)0xB3F10004; static unsigned long *systemh_irq_request_register = (unsigned long *)0xB3F10000; /* forward declaration */ -static unsigned int startup_systemh_irq(unsigned int irq); -static void shutdown_systemh_irq(unsigned int irq); static void enable_systemh_irq(unsigned int irq); static void disable_systemh_irq(unsigned int irq); static void mask_and_ack_systemh(unsigned int); -static void end_systemh_irq(unsigned int irq); -/* hw_interrupt_type */ -static struct hw_interrupt_type systemh_irq_type = { - .typename = " SystemH Register", - .startup = startup_systemh_irq, - .shutdown = shutdown_systemh_irq, - .enable = enable_systemh_irq, - .disable = disable_systemh_irq, +static struct irq_chip systemh_irq_type = { + .name = " SystemH Register", + .unmask = enable_systemh_irq, + .mask = disable_systemh_irq, .ack = mask_and_ack_systemh, - .end = end_systemh_irq }; -static unsigned int startup_systemh_irq(unsigned int irq) -{ - enable_systemh_irq(irq); - return 0; /* never anything pending */ -} - -static void shutdown_systemh_irq(unsigned int irq) -{ - disable_systemh_irq(irq); -} - static void disable_systemh_irq(unsigned int irq) { if (systemh_irq_mask_register) { @@ -86,16 +68,9 @@ static void mask_and_ack_systemh(unsigned int irq) disable_systemh_irq(irq); } -static void end_systemh_irq(unsigned int irq) -{ - if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS))) - enable_systemh_irq(irq); -} - void make_systemh_irq(unsigned int irq) { disable_irq_nosync(irq); - irq_desc[irq].chip = &systemh_irq_type; + set_irq_chip_and_handler(irq, &systemh_irq_type, handle_level_irq); disable_systemh_irq(irq); } -