Commit 495e0c79406fc0915fe80c7b1bbc006ef1370842

Authored by Thomas Gleixner
1 parent df31a0a06f

xtensa: Convert main irq_chip to new functions

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Chris Zankel <chris@zankel.net>
LKML-Reference: <20110206211137.653005586@linutronix.de>

Showing 1 changed file with 21 additions and 22 deletions Side-by-side Diff

arch/xtensa/kernel/irq.c
... ... @@ -35,7 +35,6 @@
35 35 asmlinkage void do_IRQ(int irq, struct pt_regs *regs)
36 36 {
37 37 struct pt_regs *old_regs = set_irq_regs(regs);
38   - struct irq_desc *desc = irq_desc + irq;
39 38  
40 39 if (irq >= NR_IRQS) {
41 40 printk(KERN_EMERG "%s: cannot handle IRQ %d\n",
... ... @@ -57,7 +56,7 @@
57 56 sp - sizeof(struct thread_info));
58 57 }
59 58 #endif
60   - desc->handle_irq(irq, desc);
  59 + generic_handle_irq(irq);
61 60  
62 61 irq_exit();
63 62 set_irq_regs(old_regs);
64 63  
65 64  
66 65  
67 66  
68 67  
69 68  
70 69  
71 70  
72 71  
73 72  
74 73  
75 74  
... ... @@ -111,50 +110,50 @@
111 110 return 0;
112 111 }
113 112  
114   -static void xtensa_irq_mask(unsigned int irq)
  113 +static void xtensa_irq_mask(struct irq_chip *d)
115 114 {
116   - cached_irq_mask &= ~(1 << irq);
  115 + cached_irq_mask &= ~(1 << d->irq);
117 116 set_sr (cached_irq_mask, INTENABLE);
118 117 }
119 118  
120   -static void xtensa_irq_unmask(unsigned int irq)
  119 +static void xtensa_irq_unmask(struct irq_chip *d)
121 120 {
122   - cached_irq_mask |= 1 << irq;
  121 + cached_irq_mask |= 1 << d->irq;
123 122 set_sr (cached_irq_mask, INTENABLE);
124 123 }
125 124  
126   -static void xtensa_irq_enable(unsigned int irq)
  125 +static void xtensa_irq_enable(struct irq_chip *d)
127 126 {
128   - variant_irq_enable(irq);
129   - xtensa_irq_unmask(irq);
  127 + variant_irq_enable(d->irq);
  128 + xtensa_irq_unmask(d->irq);
130 129 }
131 130  
132   -static void xtensa_irq_disable(unsigned int irq)
  131 +static void xtensa_irq_disable(struct irq_chip *d)
133 132 {
134   - xtensa_irq_mask(irq);
135   - variant_irq_disable(irq);
  133 + xtensa_irq_mask(d->irq);
  134 + variant_irq_disable(d->irq);
136 135 }
137 136  
138   -static void xtensa_irq_ack(unsigned int irq)
  137 +static void xtensa_irq_ack(struct irq_chip *d)
139 138 {
140   - set_sr(1 << irq, INTCLEAR);
  139 + set_sr(1 << d->irq, INTCLEAR);
141 140 }
142 141  
143   -static int xtensa_irq_retrigger(unsigned int irq)
  142 +static int xtensa_irq_retrigger(struct irq_chip *d)
144 143 {
145   - set_sr (1 << irq, INTSET);
  144 + set_sr (1 << d->irq, INTSET);
146 145 return 1;
147 146 }
148 147  
149 148  
150 149 static struct irq_chip xtensa_irq_chip = {
151 150 .name = "xtensa",
152   - .enable = xtensa_irq_enable,
153   - .disable = xtensa_irq_disable,
154   - .mask = xtensa_irq_mask,
155   - .unmask = xtensa_irq_unmask,
156   - .ack = xtensa_irq_ack,
157   - .retrigger = xtensa_irq_retrigger,
  151 + .irq_enable = xtensa_irq_enable,
  152 + .irq_disable = xtensa_irq_disable,
  153 + .irq_mask = xtensa_irq_mask,
  154 + .irq_unmask = xtensa_irq_unmask,
  155 + .irq_ack = xtensa_irq_ack,
  156 + .irq_retrigger = xtensa_irq_retrigger,
158 157 };
159 158  
160 159 void __init init_IRQ(void)