diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-17 13:58:44 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-17 13:58:44 -0500 |
commit | af575e2d2e09517a8190f1b425453cc3e0102f6c (patch) | |
tree | 4be2556d0bb6d756a62b2682df3d3c648e4a77a6 /arch/alpha/kernel/sys_dp264.c | |
parent | 584ef2cd70acb0e473ba51e1073c2c5c95a2d27a (diff) | |
parent | f5de6ecc84b58ba0f394365eafc8681af7a4f73d (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6:
alpha: fix WARN_ON in __local_bh_enable()
alpha: fix breakage caused by df9ee29270
alpha: add GENERIC_HARDIRQS_NO__DO_IRQ to Kconfig
alpha/osf_sys: remove unused MAX_SELECT_SECONDS
alpha: change to new Makefile flag variables
alpha: kill off alpha_do_IRQ
alpha: irq clean up
alpha: use set_irq_chip and push down __do_IRQ to the machine types
Diffstat (limited to 'arch/alpha/kernel/sys_dp264.c')
-rw-r--r-- | arch/alpha/kernel/sys_dp264.c | 50 |
1 files changed, 8 insertions, 42 deletions
diff --git a/arch/alpha/kernel/sys_dp264.c b/arch/alpha/kernel/sys_dp264.c index 4026502ab707..edad5f759ccd 100644 --- a/arch/alpha/kernel/sys_dp264.c +++ b/arch/alpha/kernel/sys_dp264.c | |||
@@ -115,20 +115,6 @@ dp264_disable_irq(unsigned int irq) | |||
115 | spin_unlock(&dp264_irq_lock); | 115 | spin_unlock(&dp264_irq_lock); |
116 | } | 116 | } |
117 | 117 | ||
118 | static unsigned int | ||
119 | dp264_startup_irq(unsigned int irq) | ||
120 | { | ||
121 | dp264_enable_irq(irq); | ||
122 | return 0; /* never anything pending */ | ||
123 | } | ||
124 | |||
125 | static void | ||
126 | dp264_end_irq(unsigned int irq) | ||
127 | { | ||
128 | if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS))) | ||
129 | dp264_enable_irq(irq); | ||
130 | } | ||
131 | |||
132 | static void | 118 | static void |
133 | clipper_enable_irq(unsigned int irq) | 119 | clipper_enable_irq(unsigned int irq) |
134 | { | 120 | { |
@@ -147,20 +133,6 @@ clipper_disable_irq(unsigned int irq) | |||
147 | spin_unlock(&dp264_irq_lock); | 133 | spin_unlock(&dp264_irq_lock); |
148 | } | 134 | } |
149 | 135 | ||
150 | static unsigned int | ||
151 | clipper_startup_irq(unsigned int irq) | ||
152 | { | ||
153 | clipper_enable_irq(irq); | ||
154 | return 0; /* never anything pending */ | ||
155 | } | ||
156 | |||
157 | static void | ||
158 | clipper_end_irq(unsigned int irq) | ||
159 | { | ||
160 | if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS))) | ||
161 | clipper_enable_irq(irq); | ||
162 | } | ||
163 | |||
164 | static void | 136 | static void |
165 | cpu_set_irq_affinity(unsigned int irq, cpumask_t affinity) | 137 | cpu_set_irq_affinity(unsigned int irq, cpumask_t affinity) |
166 | { | 138 | { |
@@ -200,23 +172,17 @@ clipper_set_affinity(unsigned int irq, const struct cpumask *affinity) | |||
200 | 172 | ||
201 | static struct irq_chip dp264_irq_type = { | 173 | static struct irq_chip dp264_irq_type = { |
202 | .name = "DP264", | 174 | .name = "DP264", |
203 | .startup = dp264_startup_irq, | 175 | .unmask = dp264_enable_irq, |
204 | .shutdown = dp264_disable_irq, | 176 | .mask = dp264_disable_irq, |
205 | .enable = dp264_enable_irq, | 177 | .mask_ack = dp264_disable_irq, |
206 | .disable = dp264_disable_irq, | ||
207 | .ack = dp264_disable_irq, | ||
208 | .end = dp264_end_irq, | ||
209 | .set_affinity = dp264_set_affinity, | 178 | .set_affinity = dp264_set_affinity, |
210 | }; | 179 | }; |
211 | 180 | ||
212 | static struct irq_chip clipper_irq_type = { | 181 | static struct irq_chip clipper_irq_type = { |
213 | .name = "CLIPPER", | 182 | .name = "CLIPPER", |
214 | .startup = clipper_startup_irq, | 183 | .unmask = clipper_enable_irq, |
215 | .shutdown = clipper_disable_irq, | 184 | .mask = clipper_disable_irq, |
216 | .enable = clipper_enable_irq, | 185 | .mask_ack = clipper_disable_irq, |
217 | .disable = clipper_disable_irq, | ||
218 | .ack = clipper_disable_irq, | ||
219 | .end = clipper_end_irq, | ||
220 | .set_affinity = clipper_set_affinity, | 186 | .set_affinity = clipper_set_affinity, |
221 | }; | 187 | }; |
222 | 188 | ||
@@ -302,8 +268,8 @@ init_tsunami_irqs(struct irq_chip * ops, int imin, int imax) | |||
302 | { | 268 | { |
303 | long i; | 269 | long i; |
304 | for (i = imin; i <= imax; ++i) { | 270 | for (i = imin; i <= imax; ++i) { |
305 | irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL; | 271 | irq_to_desc(i)->status |= IRQ_LEVEL; |
306 | irq_desc[i].chip = ops; | 272 | set_irq_chip_and_handler(i, ops, handle_level_irq); |
307 | } | 273 | } |
308 | } | 274 | } |
309 | 275 | ||