X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fmips%2Fau1000%2Fcommon%2Firq.c;h=afe05ec12c27d31326d73937081eb7e0631d1c33;hb=9464c7cf61b9433057924c36e6e02f303a00e768;hp=316722ee8cf504e7972722c882ae9a8e94cad3bb;hpb=41689045f6a3cbe0550e1d34e9cc20d2e8c432ba;p=linux-2.6.git diff --git a/arch/mips/au1000/common/irq.c b/arch/mips/au1000/common/irq.c index 316722ee8..afe05ec12 100644 --- a/arch/mips/au1000/common/irq.c +++ b/arch/mips/au1000/common/irq.c @@ -26,6 +26,7 @@ * with this program; if not, write to the Free Software Foundation, Inc., * 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include #include #include #include @@ -251,7 +252,7 @@ void restore_local_and_enable(int controller, unsigned long mask) } -static struct irq_chip rise_edge_irq_type = { +static struct hw_interrupt_type rise_edge_irq_type = { .typename = "Au1000 Rise Edge", .startup = startup_irq, .shutdown = shutdown_irq, @@ -261,7 +262,7 @@ static struct irq_chip rise_edge_irq_type = { .end = end_irq, }; -static struct irq_chip fall_edge_irq_type = { +static struct hw_interrupt_type fall_edge_irq_type = { .typename = "Au1000 Fall Edge", .startup = startup_irq, .shutdown = shutdown_irq, @@ -271,7 +272,7 @@ static struct irq_chip fall_edge_irq_type = { .end = end_irq, }; -static struct irq_chip either_edge_irq_type = { +static struct hw_interrupt_type either_edge_irq_type = { .typename = "Au1000 Rise or Fall Edge", .startup = startup_irq, .shutdown = shutdown_irq, @@ -281,7 +282,7 @@ static struct irq_chip either_edge_irq_type = { .end = end_irq, }; -static struct irq_chip level_irq_type = { +static struct hw_interrupt_type level_irq_type = { .typename = "Au1000 Level", .startup = startup_irq, .shutdown = shutdown_irq, @@ -309,7 +310,7 @@ void startup_match20_interrupt(irqreturn_t (*handler)(int, void *, struct pt_reg * can avoid it. --cgray */ action.dev_id = handler; - action.flags = IRQF_DISABLED; + action.flags = SA_INTERRUPT; cpus_clear(action.mask); action.name = "Au1xxx TOY"; action.handler = handler; @@ -332,31 +333,31 @@ static void setup_local_irq(unsigned int irq_nr, int type, int int_req) au_writel(1<<(irq_nr-32), IC1_CFG2CLR); au_writel(1<<(irq_nr-32), IC1_CFG1CLR); au_writel(1<<(irq_nr-32), IC1_CFG0SET); - irq_desc[irq_nr].chip = &rise_edge_irq_type; + irq_desc[irq_nr].handler = &rise_edge_irq_type; break; case INTC_INT_FALL_EDGE: /* 0:1:0 */ au_writel(1<<(irq_nr-32), IC1_CFG2CLR); au_writel(1<<(irq_nr-32), IC1_CFG1SET); au_writel(1<<(irq_nr-32), IC1_CFG0CLR); - irq_desc[irq_nr].chip = &fall_edge_irq_type; + irq_desc[irq_nr].handler = &fall_edge_irq_type; break; case INTC_INT_RISE_AND_FALL_EDGE: /* 0:1:1 */ au_writel(1<<(irq_nr-32), IC1_CFG2CLR); au_writel(1<<(irq_nr-32), IC1_CFG1SET); au_writel(1<<(irq_nr-32), IC1_CFG0SET); - irq_desc[irq_nr].chip = &either_edge_irq_type; + irq_desc[irq_nr].handler = &either_edge_irq_type; break; case INTC_INT_HIGH_LEVEL: /* 1:0:1 */ au_writel(1<<(irq_nr-32), IC1_CFG2SET); au_writel(1<<(irq_nr-32), IC1_CFG1CLR); au_writel(1<<(irq_nr-32), IC1_CFG0SET); - irq_desc[irq_nr].chip = &level_irq_type; + irq_desc[irq_nr].handler = &level_irq_type; break; case INTC_INT_LOW_LEVEL: /* 1:1:0 */ au_writel(1<<(irq_nr-32), IC1_CFG2SET); au_writel(1<<(irq_nr-32), IC1_CFG1SET); au_writel(1<<(irq_nr-32), IC1_CFG0CLR); - irq_desc[irq_nr].chip = &level_irq_type; + irq_desc[irq_nr].handler = &level_irq_type; break; case INTC_INT_DISABLED: /* 0:0:0 */ au_writel(1<<(irq_nr-32), IC1_CFG0CLR); @@ -384,31 +385,31 @@ static void setup_local_irq(unsigned int irq_nr, int type, int int_req) au_writel(1<